home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Business Heaven
/
Business Heaven.iso
/
spredsht
/
instacal
/
insta.doc
< prev
next >
Wrap
Text File
|
1993-05-28
|
286KB
|
6,313 lines
InstaCalc (tm)
Abridged Shareware User Manual
Version 4
(C) Copyright FormalSoft 1986-93
All Rights Reserved
FormalSoft
PO Box 495
Springville, Utah 84663
801-489-3102
No part of this documentation may be reproduced in whole or in part
without the prior written permission of FormalSoft.
Trademarks: FormalSoft and InstaCalc are trademarks of FormalSoft. All
other brand and product names are trademarks or registered trademarks
of their respective companies.
WELCOME TO INSTACALC
--------------------
Thank you for evaluating InstaCalc, our PC Magazine Editor's Choice
award winning spreadsheet. Although InstaCalc is extremely powerful,
we are certain you will find it to be the easiest spreadsheet you have
ever used. In addition, its minimal hardware requirements make
InstaCalc an excellent choice for use on laptop computers.
We encourage you to pass copies of this program on to your friends and
associates, so they too can see the power and ease of InstaCalc.
LICENSE AGREEMENT
-----------------
InstaCalc is distributed as Shareware. It is not free software, nor
is it in the public domain. You are granted a limited (30 day)
license to evaluate InstaCalc. If you want to continue using
InstaCalc, you can purchase a copy using the form provided on the next
page.
A single registered copy of InstaCalc may be used in the following
situations where only one copy of InstaCalc is running at a time, such
as:
- by a single user on one work machine and one home machine (where the
user won't be running two copies at the same time).
- or on a single machine used by multiple users (where only one user
can use InstaCalc at a time).
If InstaCalc will be used by more than one user at a time, then a copy
must be purchased for each machine. We offer site licenses and
quantity discounts. Call us for details.
You are also granted a limited license to copy and distribute
InstaCalc for evaluation by others on the following conditions:
- You may NOT charge anything for InstaCalc itself. You may charge a
copying fee (not to exceed $8) to cover disks and handling.
- You may NOT copy the printed documentation in any manner or form.
- You may NOT bundle InstaCalc with any other product without prior
written permission from FormalSoft.
- You may NOT distribute versions of InstaCalc which have been
modified in any way.
- You must include ALL of the files which are distributed with
InstaCalc. These files must be ARCHIVED together if you place them on
an electronic bulletin board.
1
InstaCalc v4 Registration Form
------------------------------
TO ORDER:
1. Send this form & payment to: FormalSoft
InstaCalc Registration
P.O. Box 495
Springville, UT 84663
2. Or give us a call at: 801-489-3102 (VISA/MC/AMEX)
I want to receive the most recent version of InstaCalc, the full
printed manual, and to be eligible for technical support and
discounted upgrades. Please send me ____ copies of InstaCalc. I have
enclosed $49 for each copy ordered, plus $5 shipping and handling.
* Utah residents please add 6.25% sales tax.
* Foreign orders add $10 for air mail.
Amount enclosed:_____________
*** WE OFFER QUANTITY DISCOUNTS AND SITE LICENSES. CALL FOR DETAILS.
Disk size: [ ] 5.25" [ ] 3.5"
Name:________________________________________________________________
Company:_____________________________________________________________
Address:_____________________________________________________________
City, State, Zip:____________________________________________________
Country:_____________________________________________________________
[ ] CHECK (US $ drawn on US bank only) [ ] VISA/MC [ ] AMEX
Credit card #_______________________________ Exp date_______________
Signature_____________________________________________________________
Where did you get your copy from?____________________________________
2
INSTACALC FEATURES
------------------
InstaCalc is a state of the art spreadsheet, extremely powerful yet
easy to learn and use.
****************************************************************
* And InstaCalc is a PC Magazine Editor's Choice award winner! *
****************************************************************
InstaCalc can be run either as a standalone spreadsheet, or as a pop
up spreadsheet which can cut and paste your spreadsheet data with
other programs. Below are just a few of InstaCalc's capabilities.
Pop up option uses less than 15K RAM
Cut and paste with other programs
Direct import and export of:
1-2-3 files
dBase files
DIF files
ASCII files
Powerful macro environment
Full application language
for/next, repeat/until
if/else/endif
windowing commands
moving bar menu systems
access to DOS/printer
Macro editor
Debugging
single stepping
conditional breakpoints
Macro recorder
Presentation quality graphics
Bar, stacked bar, line, X-Y, pie, hi-lo, area, ribbon, scatter
True 3 axis bar, area, and ribbon charts
Annotate your charts with freeform text and lines
Supports dot matrix, laser, and color printers *
Save charts as PCX, Postscript, WPG, CGM, and more *
Expanded memory support
File encryption
File linking
100 built-in @functions
Goal seeking
Auditing
EGA 43 line support
Search and replace
Database entry forms
Sort on up to 9 keys
Query worksheet databases
Query dBase files
Mouse support
Visual point & shoot file manager
Context sensitive help
Menu system shows all levels of the menu on screen
Set and view options from full page menus
Index to function keys across bottom of screen
*Special drivers included with your registration
3
CONTENTS
--------
GETTING STARTED . . . . . . . . . . . . . . . . . . . . . . . . . 2
INSTALLING INSTACALC . . . . . . . . . . . . . . . . . . . . 2
HOW TO RUN INSTACALC . . . . . . . . . . . . . . . . . . . . 2
STARTUP OPTIONS . . . . . . . . . . . . . . . . . . . . . . 3
CUSTOMIZING INSTACALC . . . . . . . . . . . . . . . . . . . 3
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
INSTACALC BASICS . . . . . . . . . . . . . . . . . . . . . . . . 4
THE WORKSHEET . . . . . . . . . . . . . . . . . . . . . . . 4
HOW TO GET HELP . . . . . . . . . . . . . . . . . . . . . . 5
MOVING AROUND THE WORKSHEET . . . . . . . . . . . . . . . . 5
ENTERING AND EDITING DATA . . . . . . . . . . . . . . . . . 6
HOW TO ENTER AND USE FORMULAS . . . . . . . . . . . . . . . 8
RELATIVE AND ABSOLUTE CELL REFERENCES . . . . . . . . . . . 10
DEFINING A RANGE OF CELLS . . . . . . . . . . . . . . . . . 11
BUILT-IN @FUNCTIONS . . . . . . . . . . . . . . . . . . . . 12
USING THE COMMAND MENUS . . . . . . . . . . . . . . . . . . 12
USING THE FUNCTION KEYS . . . . . . . . . . . . . . . . . . 13
SAVING AND RETRIEVING DATA . . . . . . . . . . . . . . . . . 13
USING THE FILE MANAGER . . . . . . . . . . . . . . . . . . . 14
CHANGING YOUR SPREADSHEET'S APPEARANCE . . . . . . . . . . . 14
PRINTING YOUR DATA . . . . . . . . . . . . . . . . . . . . . 16
GRAPHING YOUR DATA . . . . . . . . . . . . . . . . . . . . . 16
RECORDING A MACRO . . . . . . . . . . . . . . . . . . . . . 17
THE INSTACALC TEXT EDITOR . . . . . . . . . . . . . . . . . 17
THE INSTACALC MACRO LANGUAGE . . . . . . . . . . . . . . . . 18
CUTTING DATA FROM OTHER PROGRAMS . . . . . . . . . . . . . . 18
PASTING DATA TO OTHER PROGRAMS . . . . . . . . . . . . . . . 19
REFERENCE . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
THE FUNCTION KEYS . . . . . . . . . . . . . . . . . . . . . 20
INSTACALC COMMAND MENUS . . . . . . . . . . . . . . . . . . 23
BUILT-IN FUNCTIONS . . . . . . . . . . . . . . . . . . . . . 49
INSTACALC APPLICATIONS . . . . . . . . . . . . . . . . . . . . . 84
CREATING AN APPLICATION . . . . . . . . . . . . . . . . . . 84
RUNNING AN APPLICATION . . . . . . . . . . . . . . . . . . . 85
LANGUAGE DESCRIPTION . . . . . . . . . . . . . . . . . . . . 86
SPECIAL KEY NAMES . . . . . . . . . . . . . . . . . . . . . 88
THE INSTACALC COMMAND ENVIRONMENT . . . . . . . . . . . . . 89
1
GETTING STARTED
---------------
INSTALLING INSTACALC
--------------------
The InstaCalc program is in a compressed form. An installation
program is included which will automatically install InstaCalc on your
hard disk or another floppy. To run this program:
1. Turn on your computer.
2. Insert the InstaCalc disk into drive A.
3. Type A: at the DOS prompt and press <Enter>.
4. Type INSTALL and press <Enter>.
5. Respond to the prompts as directed.
HOW TO RUN INSTACALC
--------------------
InstaCalc may be run in two different modes; as a standalone
spreadsheet, or as a pop up spreadsheet.
Standalone: To run InstaCalc as a standalone spreadsheet:
- Turn on your computer
- Change to the directory where the InstaCalc files are
- Type INSTA
Pop up: To run InstaCalc as a pop up spreadsheet:
- Turn on your computer
- Change to the directory where the InstaCalc files are
- Type INSTA /p
This will install InstaCalc into memory and return you to the DOS
prompt. InstaCalc will then look at every keystroke you type (don't
worry, it isn't doing anything to hurt them). InstaCalc is simply
looking for a particular key sequence known as the Hot Key. The Hot
Key is initially defined to be <Alt>I, but you can change this with
the setup program described later.
Once you have loaded InstaCalc into memory, you may go about doing
whatever you need to do, whether it is running DOS commands or other
programs. Then, whenever you need the power of InstaCalc, simply type
<Alt>I (or whatever you have defined the Hot Key to be) and InstaCalc
will pop into action.
InstaCalc should be loaded after memory resident programs which are
not called up by a hot key (such as RAM disks, print spoolers, etc).
When InstaCalc is run in pop up mode, it will only use 15K of memory,
swapping the rest of the program in and out from your hard disk,
extended, or expanded memory. When swapping from disk, there will be
a delay from the time you press the Hot Key and when the program pops
up (and pops down when you are done). The message Swapping in and
Swapping out will be displayed at these times.
If you want to unload InstaCalc from memory, simply type INSTA /u
2
NOTE FOR WORDPERFECT USERS: Sometimes when popping InstaCalc up
through WordPerfect on an EGA or VGA system, the InstaCalc screen will
have a strange appearance (such as text in italics, odd colors, etc).
This is because WordPerfect sometimes uses special "fonts" on screen,
and InstaCalc must use the current "font" when it pops up through
WordPerfect. There are two ways around this:
(1) In WordPerfect, go into the setup screen, and set the
Colors/Fonts/Attributes to "Normal Font Only".
or
(2) Run the InstaCalc SETUP.EXE program, and make sure the colors you
select for the various parts of the screen come from the left 8
columns of the color selection box (the right 8 columns of colors are
the ones that cause the problems).
STARTUP OPTIONS
---------------
InstaCalc provides a variety of options you can use when you first
start up the program.
Switches InstaCalc provides the following command line switches:
/Pmemory: Install InstaCalc as a popup spreadsheet. If you use the /P
alone, InstaCalc will allocate 40K of memory for your data. If you
want more (or less) memory to store your data in, then add the number
of bytes desired immediately after the /P.
/U: Unload InstaCalc from memory.
CUSTOMIZING INSTACALC
---------------------
InstaCalc includes a setup program which allows you to customize the
functionality and appearance of InstaCalc on your system, as well as
select a hot key. To run the setup program, simply type:
SETUP at the DOS prompt.
3
INSTACALC BASICS
----------------
THE WORKSHEET
-------------
A spreadsheet may be thought of as a large electronic worksheet, much
like a piece of paper divided into rows and columns, like this:
A B C D E F G H
---------------------------------
1| | | | | | | | |
|---|---|---|---|---|---|---|---|
2| | | | | | | | |
|---|---|---|---|---|---|---|---|
3| | | | | | | | |
|---|---|---|---|---|---|---|---|
4| | | | | | | | |
|---|---|---|---|---|---|---|---|
5| | | | | | | | |
|---|---|---|---|---|---|---|---|
6| | | | | | | | |
|---|---|---|---|---|---|---|---|
7| | | | | | | | |
---------------------------------
An InstaCalc worksheet has 256 columns and 4096 rows. In order to
distinguish columns from each other, InstaCalc assigns a letter of the
alphabet to each column. The first 26 columns are labeled with the
letters A through Z. Since there are 256 columns but only 26 letters,
the remaining columns must use 2 letters to identify them. InstaCalc
assigns each of the rows in a worksheet a number from 1 to 4096. The
top row in a worksheet is row 1 and the bottom row is row 4096.
The area where a row and a column cross is known as a cell. Each cell
in the Worksheet is identified by the letter (or letters) of the
column it is in, and the number of the row it is in. For example, the
cell that is in column R and row 29 is named R29 (the column letters
always come before the row number). Each one of the cells may contain
some text, a number, or a formula.
Since it is impossible to view all 4096 rows and 256 columns at once,
the screen display provides a window looking into the Worksheet. The
letters of the columns which are on the screen are displayed in a
horizontal bar above the columns, while the numbers of the rows which
are on the screen are displayed in a vertical bar to the left of the
rows.
A status line is located in the upper left corner of the screen and
looks something like this:
A1: (W9) BLANK <Default>
Each component of the status line tells you certain information about
the current cell. A1 tells you that the cell you are currently at is
in column A and row 1. (W9) tells you that the column you are in is 9
characters wide.
4
BLANK tells you that the cell you are at is currently blank. This
item tells you what is currently in the cell:
BLANK - a blank cell
TEXT - a line of text
NUMBER - a number
FORMULA - a formula with a numeric result
TXTFORM - a formula with a text result
FORMAT - a blank cell which contains formatting information
ERROR - a formula which has an error value
The bottom line of the display is an index to the function keys <F1>
through <F10> so you don't have to memorize or look them up. Pressing
<Ctrl> changes this index to reflect the operation of the function
keys when used in combination with the <Ctrl> key.
HOW TO GET HELP
---------------
InstaCalc provides extensive online help for its features. To call up
this help, simply press the <F1> Help key at any point in the program.
A help screen will pop up which provides information about the
operation you are attempting.
InstaCalc's help is context-sensitive. This means that InstaCalc is
always keeping track of what you are doing so that it can provide the
proper help screen when you ask for it. For example, if you press
<F1> when you are trying to copy a cell, then a help screen which
explains that feature will pop up.
InstaCalc's help is also interactive. This means that the help screen
which pops up will also list several other help screens which are
related to what you are doing. You may view one of these related help
screens by simply using the <Left> and <Right> keys (or moving the
mouse) to move the highlight bar to the name of the help screen
desired, and then pressing the <Enter> key or left mouse button, or by
simply pressing the first letter of the desired help screen's name.
You may also call up a list of help screens called the <HELP INDEX> by
pressing the <F1> key a second time, or by pressing the right button
on your mouse.
After you have read the help screens that interest you, simply press
the <Esc> key (or both mouse keys simultaneously) to return to what
you were doing.
MOVING AROUND THE WORKSHEET
---------------------------
You move from cell to cell by moving the "cell pointer". The cell
pointer is a highlighted bar on the screen which "points to" the cell
in the Worksheet which is the current cell. The address of the
current cell is displayed on the top line of the InstaCalc screen.
InstaCalc provides many ways to move the cell pointer.
5
The arrow keys move the cell pointer up, down, left, or right one cell
position.
The <Home> key moves the cell pointer to cell A1.
The <End> key operates in a different manner than the other movement
keys. Pressing <End> does not move the cell pointer itself, but
changes the way the <Left>, <Right>, <Up>, <Down>, <PgUp>, <PgDn> and
<Home> keys work. If you press the <End> key and then one of the
arrow keys or <PgUp> or <PgDn>, then the cell pointer will move in one
of the following ways:
- If the cell pointer is in a blank cell, it will move in the
direction selected to the first non blank cell.
- If the cell pointer is in a non blank cell, it will move in the
direction selected to the last non blank cell before a blank cell.
If you press the <End> key followed immediately by the <Home> key, the
cell pointer will move to the cell in the lower right corner of the
sheet.
If you want to cancel out the effect of the <End> key after you have
pressed it, simply press <End> a second time.
The <Ctrl><Right> key sequence moves the cell pointer one screen's
worth of columns to the right. This key sequence is generated by
holding down the <Ctrl> key and pressing <Right>.
The <Ctrl><Left> key sequence moves the cell pointer one screen's
worth of columns to the left. This key sequence is generated by
holding down the <Ctrl> key and pressing <Left>.
The <PgUp> key moves the cell pointer up one screen's worth of rows.
This key sequence is generated by holding down <Ctrl> and pressing
<PgUp>.
The <PgDn> key moves the cell pointer down one screen's worth of rows.
This key sequence is generated by holding down <Ctrl> and pressing
<PgDn>.
The <F5> key moves the cell pointer anywhere you tell it to.
InstaCalc will ask you which cell you want to go to, and you just type
in the cell name and hit <Enter>.
In addition to the various movement keys, InstaCalc provides built-in
mouse support. If you have a mouse and have installed your mouse
driver before running InstaCalc, then you can move the cell pointer by
simply moving the mouse in the direction you want to go.
ENTERING AND EDITING DATA
-------------------------
You can enter numbers or text into any of the cells in the Worksheet.
Just move the cell pointer to the cell you want to enter a number or
text in, and type the number or text. You may enter up to 240
6
characters into each cell. The number or text will be entered into
the cell as soon as you press <Enter> or one of the movement keys
(<Up>, <Down>, <Left>, <Right>, <PgUp>, or <PgDn>). If you finish
entering the data using the <Enter> key, the cell pointer will remain
positioned at the same cell. If you finish entering the data using
one of the movement keys, the data will be entered into the current
cell, and then the cell pointer will move to another cell in the
direction you specified.
Numbers: A number can range in value from -10^37 to 10^37, and can
have up to 11 significant places. You can enter a number into a cell
using either standard notation (like 12.345) or scientific notation
(like 1234.5e-2).
Text: If you enter a line of text which contains more characters than
the column is wide, it will spill over into adjacent cells (if the
adjacent cells are blank). If the adjacent cells contain data, then
the extra characters in the text string will be hidden from view (but
they will still be in the cell). If you want to see the entire
string, you must widen the column containing the text.
The way your text is displayed in a cell depends on the first
character of the text. There are four (4) possible characters which
can precede your text and which affect the way the text is displayed.
These characters are:
' causes the text to be left justified in the cell
" causes the text to be right justified in the cell
^ causes the text to be centered in the cell
\ causes the next character to be repeated
If you enter some text without one of the above special characters as
the first character, InstaCalc will automatically place the global
justify character on the text for you. You can select or change this
global justify character with the /Worksheet Justify command on the
main menu. Once the text has been entered into a cell, you may change
the justification using either the /Cell Justify or the /Range Justify
commands (or use the <F2>Edit function key to enter edit mode and just
change the justification character to the one you want).
Editing: If you need to change an entry in a cell, but don't want to
retype the entire thing, InstaCalc provides the ability to edit your
entry. Simply move the cell pointer to the cell you want to edit, and
press the <F2> Edit key. If there is anything in the cell to edit,
InstaCalc will enter its editing mode. Also, if you make an error
when entering a formula this editing capability will be called
automatically.
When you are in edit mode, the following editing keys are available:
<Left> moves the cursor one character to the left.
<Right> moves the cursor one character to the right.
<Home> moves the cursor to the first character.
<End> moves the cursor to the last character.
<Ctrl><Right> moves the cursor one word to the right.
<Ctrl><Left> moves the cursor one word to the left.
7
<BkSp> deletes the character to the left of the cursor and
shifts the following characters in the line to the left
to fill in the empty space.
<Ctrl><BkSp> deletes the entire line. This is not the same as
erasing the cell. The cell will still take up memory,
but it will contain a blank string. To erase the cell
completely, use the /Cell Erase command.
<Del> deletes the character underneath the cursor and shifts
the following characters in the line to the left to
fill in the empty space.
<Ins> toggles between insert and overwrite modes. When you
are in insert mode, typing a character will insert the
new character into the line at the point where the
cursor is. The character under the cursor and those to
the right of the cursor are shifted to the right to
make room for the new character. When you are in
overwrite mode, typing a character will replace the
character under the cursor with the new character.
When you are in insert mode, the cursor will be an
underline. In overwrite mode the cursor will be a
solid block.
HOW TO ENTER AND USE FORMULAS
-----------------------------
One of the most useful features of any spreadsheet is the ability to
perform calculations using the numbers and text entered in other
cells. This is done by entering a formula into a cell. To enter a
formula, you simply move the cell pointer to the cell you want the
formula to be in, type the formula, then press <Enter>. When a cell
contains a formula, it will display the value that the formula
evaluates to, rather than the formula itself.
An InstaCalc formula must begin with an equal sign '=' and may be made
up of numbers (or text in some cases), references to values in other
cells, built-in functions, and mathematical, logical, and comparison
operators.
Example: Let's say you have a number in cell B5 and another in cell
C6, and you would like to add these two numbers and place the result
in cell A4. Simply move the cell pointer to A4, and type in the
following formula: =B5+C6 (followed by <Enter>). Cell A4 now contains
the formula you entered, but it will display the result of the
formula. If you later change the number in either B5 or C6, the
formula in A4 will be recalculated and the new value will be
displayed.
You can use the following operators in a formula (a and b can be any
number, cell reference, function, or formula):
Mathematical
a+b Addition
8
a-b Subtraction
a*b Multiplication
a/b Division
a^b Exponentiation
Logical
a&b And (is true only if a is true AND b is true)
a|b Or (is true is a is true OR b is true)
~b Not (false if b is true, and true if b is false)
Comparison
a=b is true if a is equal to b
a<>b is true if a is NOT equal to b
a<b is true if a is less than b
a>b is true if a is greater than b
a<=b is true if a is less than or equal to b
a>=b is true is a is greater than or equal to b
You can also use the comparison operators to compare text strings with
each other. Two strings are considered equal if they are the same
length, and contain the same characters in the same order. String
comparisons are case insensitive, which means that two letters are
considered the same regardless of whether one is uppercase and one is
lowercase. For example, the string Test is considered equal to the
string test.
In addition, the + operator can also be used to concatenate 2 strings.
For example, the formula:
="This is"+" a test"
returns the string This is a test.
If you enter a formula which uses more than one operator, the
operations are always performed in a specific order (called
precedence). The order of precedence is:
1. Exponentiation ^
2. Negation -
3. Multiplication and Division * /
4. Addition and Subtraction + -
5. Comparison = < > <= >= <>
6. Not ~
7. And/Or & |
where exponentiation is performed before negation and so on.
If you want to change the order in which operations are performed,
then you must use parentheses in your formulas. Operations which you
place in parentheses will be performed before those outside the
parentheses. For example, the formula
=2+3*4
evaluates as 14 (not 20) because the multiply has a higher precedence
than the addition. If you want the addition to be performed first,
then use parentheses to make the equation look like
9
=(2+3)*4
In addition to typing cell references in formulas, you can also enter
cell references by pointing to them with the cell pointer. At any
point in entering a formula where a cell reference is allowed, you can
simply press any of the cell pointer movement keys to begin pointing
to a cell or range of cells. The address of the cell which the cell
pointer is on will appear in the formula. As you move the cell
pointer around, the reference in the formula will be adjusted to
reflect the new position of the cell pointer.
When the cell pointer is highlighting the cell reference you want,
either press the <Enter> key or the character you want to immediately
follow the cell reference. If you press the <Enter> key, the
reference will be entered and you may continue to enter the formula.
If you press another key, the reference and the key you pressed will
be entered on the formula line, and you may continue entering the
formula.
If you change your mind about pointing to a cell reference, simply
press the <Esc> key and you will be returned to formula entry without
any cell reference being entered.
If you have named any cells with the /Range Name command, you may also
select a cell or range reference from a list of these references.
Simply press the <F3> key when you want to select a named range, and a
menu will pop up which lists all the currently defined range names.
You can then select the range name you want, and it will be placed
into your formula for you. The <F3> key will only pop up the range
name list when it is legal to enter a cell or range reference.
If you enter a formula which InstaCalc can't evaluate, the formula you
entered will be displayed on the command line and the editing facility
will be invoked. The cursor will be placed near the part of the
formula which InstaCalc didn't like, and you may fix the formula using
the editing commands.
If you enter (or edit) a formula and the word CIRC appears in the
upper right corner of the screen, this means a circular reference
exists in your worksheet. A circular reference means that a formula
in your worksheet depends on the value of the cell it is in. For
example, if cell A1 contains the formula =2*A1, then the formula must
use the current value of cell A1 to calculate the next value of cell
A1. If you have a circular reference, the status window (<Ctrl><F8>)
will tell you which cell it is.
RELATIVE AND ABSOLUTE CELL REFERENCES
-------------------------------------
When a formula references another cell, there are two different ways
that the cell can be referenced; absolute and relative. The purpose
of relative and absolute references is to let InstaCalc know what to
do when moving formulas from cell to cell.
It is easy to distinguish between an absolute and a relative cell
reference. An absolute cell reference uses the $ character in front
10
of each of its coordinates, like $A$1, while a relative reference uses
no special characters, like A1.
Absolute: An absolute cell reference in a formula points to the exact
same cell, regardless of where the formula is moved or copied to.
Relative: A relative cell reference in a formula points to the cell
which is a certain number of rows and columns away. If the formula is
moved, the new relative cell reference will be adjusted to point to
the cell the same number of rows and columns away from the new formula
location.
It doesn't matter whether a cell reference is absolute or relative
when a formula is evaluated; the result will be the same in either
case. For example, the formula =2*A1 will have the same value as
=2*$A$1. You can have both absolute and relative references in the
same equation if you want.
DEFINING A RANGE OF CELLS
-------------------------
Many of InstaCalc's commands can operate on more than one cell at a
time. These commands will usually ask you to define a range of cells
to perform the command on. A reference to a range is made up of the
cells at opposite corners of the range separated by two periods. For
example, the range reference A1..Z20 contains all the cells in the
range bordered by columns A through Z and rows 1 through 20.
When a command asks you to define a range of cells, there are 5
different options.
- You can simply type in the range reference.
- You can type in the name of a cell surrounded by square brackets.
InstaCalc will read the name of the range out of that cell. This
option allows your application programs to indirectly supply a range
reference to a command.
Example: If cell B5 contains the string 'G1..J10, then typing [B5]
when you are asked to define a range will cause InstaCalc to use the
range G1..J10 for the command.
- If you have named a range using the /Range Name command, you may
simply type in the name.
Example: If you assigned the name COSTS to the range G1..J10, then
typing COSTS when you are asked to define a range will cause InstaCalc
to use the range G1..J10 for the command.
- Pressing the <F3> Range key will bring up a menu of all the
currently defined range names. You may pick a range from this list by
highlighting the name and pressing the <Enter> key. If there are more
than 16 range names defined, you may press the <PgUp> and <PgDn> keys
to view more range names.
11
- You can highlight the range on screen using the cursor keys. When
you are defining a range, all the visible cells in the range will be
highlighted on the screen. On the command line you will see either a
single cell reference or a range reference. A single cell reference
means that an anchor cell has not been selected. In this case,
pressing a movement key simply moves the cell pointer to a new cell,
but does not highlight (or define) any other cells. If an anchor cell
has been selected then all cells between the anchor cell and the
current cell are defined (and highlighted if visible).
You can use any of the movement keys (including <F5> GoTo) to move the
cell pointer when highlighting a range of cells. In addition, the
following keys are active when defining a range:
<Enter> This key causes all the cells in the range on the command line
to be defined. If only a single cell reference is displayed when you
press <Enter>, then only that cell will be defined.
. The period key sets the anchor to the current cell. If an anchor was
already set before you pressed the period, then it is released before
the new one is set.
<Esc> This key releases the anchor if it is set. Pressing <Esc> when
the anchor is not set cancels the range selection, and returns you to
whatever you were doing before you were asked to define a range.
<F4> This key cycles the range cell references among the absolute and
relative types. If no anchor is set then the first coordinate is
adjusted. If the anchor has been set then <F4> will adjust the
non-anchor reference.
BUILT-IN @FUNCTIONS
-------------------
InstaCalc provides built-in functions which you can use in your
formulas. These built-in functions each begin with the character @,
and are often called at functions. A list of these functions is in
Built-In Functions in the reference section of this manual.
USING THE COMMAND MENUS
-----------------------
When you want to execute a command in InstaCalc, it will usually be
through InstaCalc's menu system. A menu is simply a list of commands
which you can pick from. Through the menus you can manipulate cells,
ranges, or the entire Worksheet, graph or print data, manipulate
files, or even temporarily exit to the operating system.
To bring up InstaCalc's menu system, you simply press the / key. If
you are using a mouse, then you may also press the left mouse button
to bring up the menu.
12
The menu system uses a sliding bar to show your choices. There are
three ways you can choose an option:
- Press the <Left> or <Right> key until the sliding bar is
highlighting the option you want. Then press <Enter> to make the
choice. The <Home> key can be pressed to highlight the first menu
choice, and pressing the <End> key will highlight the last menu
choice.
- If you are using a mouse, you may move the sliding bar by moving the
mouse back and forth. Move the mouse until the sliding bar is
highlighting the option you want. Then press the left mouse button to
make the choice.
- As a shortcut you can simply press the highlighted letter of the
desired item (usually the first character) to select that option.
A help line appears above the main menu. This line describes the
highlighted menu option. When you move the sliding bar to a new item,
this help line will change to display a line of help about the newly
highlighted item.
When you choose an option from the menu, a new submenu will pop up
which works the same as the main menu. As each new submenu is chosen,
the previous menus remain on-screen, providing you with a "tree" of
your commands. To go back one level, simply press the <Esc> key (or
the right mouse button). To clear all the menus from the screen at
once, press the <BkSp> key (or both mouse buttons simultaneously.
A list of menu commands can be found in InstaCalc Command Menus in the
reference section of this manual.
USING THE FUNCTION KEYS
-----------------------
Several of InstaCalc's commands are assigned to one of the 10 function
keys instead of or in addition to the command menus. Several other
commands are also assigned to one of the function keys with the <Ctrl>
key pressed. To execute one of these commands, simply hold down the
<Ctrl> key and then press the appropriate function key.
SAVING AND RETRIEVING DATA
--------------------------
As you are creating and using spreadsheets, your data is stored in the
memory of your PC. You should store your spreadsheets on disk
periodically throughout the day or session and definitely at the end
of each day. In the event of a power outage or if you should
forgetfully turn off the machine before a save has been done, the data
entered since the last save to disk is lost.
Saving: You can save your worksheet to a file on disk using the /File
Save command. If you just want to save a small part of your
spreadsheet, the /File Xtract command will provide that capability.
13
Retrieving: When you want to read a file off the disk back into
memory, you should use the /File Retrieve command.
Importing: The /File Import command lets you bring in data from just
about any source and use it in your spreadsheet. InstaCalc can import
data from Lotus 1-2-3 (WKS and WK1), dBase II/III/III+ , DIF and ASCII
files.
Exporting: InstaCalc can export its data in several different formats,
and most software packages are capable of reading at least one of
them. InstaCalc can export Lotus 1-2-3 (in two forms, WKS or WK1),
dBase II or dBase III or III+, DIF, or ASCII files.
USING THE FILE MANAGER
----------------------
InstaCalc provides many features designed to simplify its use. One of
these features is the Visual File Manager. The File Manager allows
you to manipulate files, directories, and drives by simply pointing
and selecting. It may be accessed by two methods.
- Any time you are asked for a file name, pressing the <Enter> key
without a file name will bring the File Manager forward to assist you.
- To access the complete listing of files, select /File Files from the
command menu.
CHANGING YOUR SPREADSHEET'S APPEARANCE
--------------------------------------
InstaCalc lets you change the way numbers are displayed on the screen
by assigning a "format" to cells. You might set a cell to the
Currency format, for example, so that the number in that cell will be
displayed with a leading dollar sign. Changing the format of a cell
does not change the value stored in the cell, only the way it is
displayed on the screen (and printouts).
Normally, when you enter data into a cell, the cell will take on the
global (Worksheet) format. You can see what this format is by
pressing <Ctrl><F8> to bring up the status window. The Worksheet
format may be changed by using the /Worksheet Format command.
The format of an individual cell may be changed using the /Cell Format
command, and the format of a range of cells may be changed using the
/Range Format command. You should use care when formatting ranges of
blank cells, because formatted cells use up memory, even if the cells'
contents are blank.
A cell may be set to any of the following formats:
General The value is displayed with only the necessary number of
decimal places.
Currency The value is displayed with a preceding dollar sign and a
selected number of decimal places. If the value is
negative, the value is enclosed in parentheses rather than
14
displayed with a negative sign. There are two sub-options:
Comma A comma will be inserted every three whole digits.
(Example: $103,297.25)
NoComma No comma is inserted in the number.
Fixed The value is displayed with a fixed number of decimal
places. Values which are very large or very small will
appear in scientific notation. Four sub-options are
available:
Comma A comma will be inserted every three whole digits
(Example: 12,345.67). Negative numbers are
preceded by a negative sign.
NoComma No comma is inserted in the number. Negative
numbers are preceded by a negative sign.
A () No comma is inserted in the number. Negative
numbers are enclosed in parentheses.
B (,) A comma will be inserted every three whole digits.
Negative numbers are enclosed in parentheses.
Percent The value is displayed as a percentage with a fixed number
of decimal places. The value is multiplied by 100, and is
displayed with a trailing percent sign %. Two sub-options
are available:
Comma A comma will be inserted every three whole digits.
(Example: 1,024%)
NoComma No comma is inserted in the number.
Science The value is displayed in exponential form, and shows the
power of 10 that the number must be multiplied by. For
example, 1.78E+07 means 1.78 times 10^7.
Time A time number (usually provided by one of the InstaCalc time
functions) is displayed in one of two ways.
AM/PM The time appears in the a.m. or p.m. form. Thus,
5:00 in the evening appears as 5:00 p.m.
Military The time appears as it would on a 24-hour clock.
Thus, 5:00 in the evening appears as 17:00.
Date A date number (usually provided by one of the InstaCalc date
functions) is displayed in one of five ways.
dd-mmm-yy June 10, 1960 appears as 10-Jun-60.
dd-mmm June 10, 1960 appears as 10-Jun.
mmm-yy June 10, 1960 appears as Jun-60.
mm/dd/yy June 10, 1960 appears as 06/10/60.
month dd, yyyy June 10, 1960 appears as June 10, 1960.
15
Hidden The value will not be displayed on the screen. If you later
want to unhide a hidden cell, simply set it to any of the
other formats.
Label All formulas (rather than their values) will be displayed on
screen.
Reset Resets the cell to the default format.
If the formatted value contains more characters than the width of the
column it is in, the cell display will be filled with a row of
asterisks like *******. You can fix this condition in one of two
ways.
- Select a display format for the cell which requires fewer characters
to display (or reduce the number of digits after the decimal point to
be displayed).
- Increase the width of the column so the formatted cell will fit in
it. You can do this with the /Cell Width command.
PRINTING YOUR DATA
------------------
InstaCalc allows you to print out the data you have entered and gives
you control over what is printed and how the printout looks. You can
print your entire worksheet or any portion of it, including border
rows and columns.
Just define the range to print with the /Print Block command, set any
options using the /Print Options command, then send the data to your
printer with the /Print Go command.
More details on printing is available in the reference section of this
manual.
GRAPHING YOUR DATA
------------------
Once your data has been entered InstaCalc can provide you with a
graphic representation of that data in only a few keystrokes.
For example, if you wanted to print a bar graph of your data:
1. Select /Graph from the main menu to begin.
2. Select the Type option. A menu will appear from which you may
select the graph type. Select Bar from the menu. Then press <ESC> to
return to the graph menu.
3. Next, you must tell InstaCalc what data you wish to have graphed.
This is done by defining a range of data for each axis. The menu
allows you to define the range of data to graph on the X axis and up
to 6 data ranges to graph along the Y axis. These ranges are named A
16
through F on the menu.
4. You may add titles, labels, and legends to your graph using the
Options selection.
5. You can now view your graph by selecting View from the menu. When
you are satisfied with the choices that you have made, you may Print
your graph.
RECORDING A MACRO
-----------------
Although InstaCalc's macro language is powerful enough to create
sophisticated business applications, there are many times when you
will want to simply repeat a sequence of keystrokes over and over.
InstaCalc's Macro Recorder provides an easy way to create and play
back often repeated key sequences. The macro recorder allows you to
assign a sequence of keystrokes to a single key, and when you press
that single key, it will automatically play back the keystroke
sequence for you.
To begin recording a macro, you simply press the <Ctrl><F10> key. You
then press the key you want to assign the macro to, and the word REC
will begin flashing in the upper right corner of the screen. As long
as REC is flashing, InstaCalc will be memorizing any further
keystrokes you type. When you want to stop recording, just press the
<Ctrl><F10> key again. Your macro will be stored in a file whose name
corresponds to the key you assigned the macro to. For example, a
macro assigned to <Ctrl>T would be named CTRLT.MAC.
Later, when you press <Ctrl>T, InstaCalc will look for the macro file
CTRLT.MAC, and play back the keystrokes which are saved there. You
can assign a macro to just about any key which isn't already defined
and used by InstaCalc. For example, you can't redefine the arrow keys
to do something else, but you can assign other keys to do the same
thing as the arrow keys.
THE INSTACALC TEXT EDITOR
-------------------------
InstaCalc provides a simple text editor which you can use to create
and edit your application programs. This editor can be called up in
two different ways.
- The /Macro Edit command will ask you for the name of a macro. You
may enter a file name, or press <Enter> to select a file from the file
manager. You will then be placed in the InstaCalc text editor.
- You may press <F5> when you are using the /File Files command to
edit the highlighted file.
Details on the Text Editor are provided in the /Macro Edit section of
this manual.
17
THE INSTACALC MACRO LANGUAGE
----------------------------
In addition to the macro recorder, InstaCalc provides a built in
programming language which provides additional capabilities such as
windowing, menu creation, control structures, and printer and DOS
access.
An InstaCalc application program simply consists of a text file
containing the commands which you would like InstaCalc to execute.
You may give your program files any valid DOS name, but the extension
must be .MAC (for example MYPROG.MAC). Your application program can
consist of keystroke macros, InstaCalc Command Environment (ICE)
commands, or both.
The InstaCalc Command Environment also provides the ability to debug
your macros. For more details on ICE and macros, see the section
titled INSTACALC APPLICATIONS.
CUTTING DATA FROM OTHER PROGRAMS
--------------------------------
When run as a TSR, InstaCalc provides the ability to import data
directly from the screen of another program into the worksheet. This
allows you to import text and numbers from your word processor, data
base manager, or any other type of program. You may import multiple
columns off the screen at the same time.
When you are in your application program and you want to cut data on
the screen into InstaCalc:
- Press the Hot Key (InstaCalc must have been loaded before you
started up your application program). This will pop up InstaCalc.
- Move the cell pointer to the cell where you want the first line of
the imported data to be placed.
- Press <F7>Cut. This will switch the display back to the screen you
want to cut from.
- Use the arrow keys to move the cursor to the upper left corner of
the block you want to cut, then press the period key. This sets the
anchor for the block.
- Use the arrow keys to begin marking the block you want to cut. The
block will be highlighted on the screen.
- Once you have highlighted the column you want to cut, either press
<Enter> to cut that column, or press the period key again to set the
anchor for another column.
- If you choose to cut more than one column off the screen at a time,
continue to set the anchor, highlight the column, set the anchor for
the next column and so on. Once you have highlighted all of the
columns you want to cut, press <Enter> to finish cutting the data from
the screen.
18
- Pressing <Esc> at any time will cancel the last selection.
PASTING DATA TO OTHER PROGRAMS
------------------------------
When run as a TSR, InstaCalc provides the ability to paste data from
the Worksheet directly into another program. This allows you to paste
spreadsheet data directly into a word processor document or database
record without even having to exit your program.
When you want to paste spreadsheet data into another program:
- Make sure the cursor in the other program is where you want the
exported data to be placed. If you are pasting into your editor or
word processor, make sure any "auto indent" feature is turned off, or
each line of the pasted data will shift further to the right.
- Press the Hot Key (InstaCalc must have been loaded before you
started up your application program). This will pop up InstaCalc.
- Press <F8>Paste.
- Use the arrow keys to move the cursor to the upper left corner of
the block you want to paste, then press the period key. This sets the
anchor for the block.
- Use the arrow keys to begin marking the block you want to paste.
The block will be highlighted on the screen.
- Once you have highlighted the block you want to paste, press <Enter>
to select that block for pasting.
- Select the key you want each row terminated with. You may select
<Enter>, <Down>, or <Right>.
- Pressing <Esc> at any time will cancel the last selection.
19
REFERENCE
---------
THE FUNCTION KEYS
-----------------
Several of InstaCalc's commands are assigned to one of the 10 function
keys instead of or in addition to the command menus. Several other
commands are also assigned to one of the function keys with the <Ctrl>
key pressed. To execute one of these commands, simply hold down the
<Ctrl> key and then press the appropriate function key.
<F1> Help This key calls up context sensitive help.
<F2> Edit This key allows you to edit the current cell.
<F3> Range This key calls up a menu of defined range names. This
key can be used any time you are asked to define a cell
or range.
<F4> Absolute This key cycles absolute and relative references when
you are pointing out cell references with the cursor
keys. If no anchor is set then the first coordinate is
adjusted. If the anchor has been set then <F4> will
adjust the non-anchor reference.
<F5> GoTo This key allows you to move the cell pointer to another
cell. You will be asked for the name of the cell to
move to.
<F6> Search This key allows you to search for some text in a cell,
and allows you to move the cell pointer to that cell or
replace the text with other text.
Find This option allows you to enter the text
you want to search for.
Replace with This option allows you to enter the text
you want to replace the Find text with.
Ignore case If you set this option to No, then the
Find text must match text in the
Worksheet exactly to be considered a
match. If this option is Yes, then the
Find text will match text in the
Worksheet if the letters are the same,
even if some are uppercase and some are
lower case.
Block This option allows you to define the
range of cells you want to search. This
allows you to limit your search to as
small a range of cells as you want.
Start This command begins the search and
replace operation. InstaCalc will begin
searching through the defined range, and
will stop when it finds a match. The
20
matching cell and its contents will be
displayed, and you will be asked if you
want to perform the Replace. There are
4 options.
No No, don't perform the replace, but
continue searching.
Yes Yes, perform the replace, and then
continue searching.
All Yes, perform the replace on this,
and all other matches which you
find. This is a global search and
replace, and you will not be asked
for any further confirmation.
GoTo No, don't perform the replace, and
just move the cell pointer to this
new cell and quit any further
searching.
If you just want to quit, then you can
simply press the <Esc> key.
<F7> Cut This key allows you to cut data off the screen of the
program you popped up through (if you started InstaCalc
with the /p option). See the section titled Cutting
Data From Other Programs.
<F8> Paste This key allows you to paste data from InstaCalc into
the program you popped up through (if you started
InstaCalc with the /p option). See the section titled
Pasting Data To Other Programs.
<F9> Recalc This key recalculates the entire worksheet. This
command is only necessary when you have used the
/Worksheet Calc Manual command to disable automatic
recalculation.
<F10> Graph This key displays the currently defined graph. This
key is simply a shortcut for the /Graph View command.
<^F1> Help This key brings up the Help Index of the help system.
<^F2> Debug This key brings up the application program debug menu
when you are single stepping through an application
program. Simply select Edit from the menu, then type
in the name of the cell you want to examine. InstaCalc
will display the current contents of the cell, and will
allow you to modify those contents if you want. When
you press <Enter>, the InstaCalc will resume single
stepping through the application.
<^F3> Break This key breaks out of a running application. If you
press this key when an application program is running,
it will abort the application unless the application
21
program has used the #BREAK command to disable
breaking.
<^F4> Mark This key marks the current cell so that you can later
return to it with the <Ctrl><F5> key. For example, if
you press <Ctrl><F4> when the cell pointer is on cell
Q53, then you can move anywhere in the worksheet and
return to cell Q53 by simply pressing the <Ctrl><F5>
key.
<^F5> ToMark This key returns to the last cell marked with
<Ctrl><F4>.
<^F6> Files This key calls up the File Manager. You will be asked
to enter a mask to tell InstaCalc which files you want
to be displayed. Pressing <Enter> will use the Mask
*.*, which will display all of the files in the current
directory.
<^F7> EGA43 This key toggles 43/50 line mode on EGA/VGA monitors.
If you have an EGA or VGA monitor, this function allows
you to see twice as many rows on the screen as normal.
<^F8> Status This key displays a status window. The status window
lists the current directory and file name, the amount
of memory available, the current date and time, and the
current default settings.
<^F9> Enter This key toggles Enter mode. This mode is especially
useful for repetitive data entry. When you are in
Enter mode, pressing the <Enter> key to enter data into
a cell will enter that data and them move the cell
pointer in the last direction moved.
<^F10> Learn This key turns the macro recorder on and off. The
macro recorder allows you to assign a sequence of
keystrokes to a single key, and when you press that
single key, it will automatically play back the
keystroke sequence for you.
If a macro already exists for the key you want to
record to, InstaCalc will provide the following
options:
Replace Replace the existing macro with this new one.
Edit Edit the existing macro.
Cancel Cancel this operation.
22
INSTACALC COMMAND MENUS
-----------------------
When you want to execute a command in InstaCalc, it will usually be
through InstaCalc's menu system. To bring up InstaCalc's menu system,
you simply press the / key (or press the left button on your mouse).
This section provides a description of each menu command.
---------------------------------------------------------------------
/Cell Format
---------------------------------------------------------------------
This command allows you to modify the display of the current cell by
setting its format. If the value using the format you select is too
long to fit into the cell's assigned width, a row of asterisks will
appear.
Options: General, Currency, Fixed, Percent, Science, Time, Date,
Hidden, Label, Reset
---------------------------------------------------------------------
/Cell Width
---------------------------------------------------------------------
This command allows you to make the column the cell pointer is in
wider or narrower (or even hide it).
Set The set option allows you to change the width. You will be
asked how wide the column should be. You may either enter a
number, or use the arrow keys to change the width. <Left>
will narrow the column, and <Right> will widen the column.
Reset Resets the column the cell pointer is in to the global
width.
---------------------------------------------------------------------
/Cell Erase
---------------------------------------------------------------------
This command erases the contents of the current cell. The cell will
retain its formatting.
---------------------------------------------------------------------
/Cell Justify
---------------------------------------------------------------------
This command allows you to change the way text strings are displayed
in the cell which the cell pointer is in. The command has three
options:
Left Justifies text in the current cell to the left edge of the
cell. When a label is entered, it will appear beginning in
the leftmost character of the cell.
Right Justifies text in the current cell to the right edge of the
cell. When a label is entered, it will appear flush right
in the cell.
23
Center Justifies text in the current cell to the center of the
cell. When a label is entered, it will appear centered in
the cell.
---------------------------------------------------------------------
/Cell Copy
---------------------------------------------------------------------
This command copies the contents of the cell that the cell pointer is
in to another cell or range of cells. You will be asked to define the
cell or range of cells you want to copy to. If you copy the cell to
more than one cell, an individual copy will be made in each of the
destination cell. If the source cell contains a formula, all relative
references will be adjusted when the formula is copied.
---------------------------------------------------------------------
/Cell Move
---------------------------------------------------------------------
This command moves the contents of the cell that the cell pointer is
in to a different location. You will be asked to define the
destination cell. If the current cell contains a formula, then the
references will be adjusted to point to the same data. References in
other cells which refer to the moved cell will also be adjusted so
that they continue to point to the same data.
---------------------------------------------------------------------
/Cell Protect
---------------------------------------------------------------------
This command allows the current cell to be protected against changes.
If, for example, the cell contains a formula that you do not want
changed, use the /Cell Protect Yes command to guard against changes.
If you thereafter want to edit or change that formula, use the /Cell
Protect No command to unprotect the cell. The default mode is
"protected."
A protected cell may still be modified until Worksheet protection is
enabled using the /Worksheet Protect Enable command. Worksheet
Protect is much like a "master switch" which turns protection
capabilities on and off for the entire Worksheet.
Yes Enables protection on the current cell.
No Disables protection on the current cell.
---------------------------------------------------------------------
/Range Format
---------------------------------------------------------------------
This command allows you to choose the best format for the cells in a
range. You will be asked to define the range of cells you want to
change the format of.
24
Options: General, Currency, Fixed, Percent, Science, Time, Date,
Hidden, Label, Reset
---------------------------------------------------------------------
/Range Width
---------------------------------------------------------------------
This command allows you to make several columns wider or narrower (or
even hide them). You will be asked to define the range of columns to
widen or narrow.
Set The set option allows you to change the width of several
columns at the same time. You may either enter a number, or
use the arrow keys to change the width. <Left> will narrow
the column, and <Right> will widen the column.
Reset Resets the columns in the range to the global width.
---------------------------------------------------------------------
/Range Erase
---------------------------------------------------------------------
This command erases the contents of a range of cells. You will be
asked to define the range of cells you want to erase.
---------------------------------------------------------------------
/Range Justify
---------------------------------------------------------------------
This command allows you to change the way text strings are displayed
in each cell in a range. You will be asked to define the range of
cells you want to change.
Left Justifies text in each cell of the range to the left edge of
the cell. When a label is entered, it will appear beginning
in the leftmost character of the cell.
Right Justifies text in each cell of the range to the right edge
of the cell. When a label is entered, it will appear flush
right in the cell.
Center Justifies text in each cell of the range to the center of
the cell. When a label is entered, it will appear centered
in the cell.
---------------------------------------------------------------------
/Range Copy
---------------------------------------------------------------------
This command copies the contents of a range of cells to another
location. You will first be asked to define the cell or range of
cells you want to copy (source range), and then the location you want
to copy to (destination). If the destination you define is a single
25
cell, the source range will be copied starting at that location. If
the destination contains more than one cell, the source range will be
copied to each cell in the destination range. This is useful for
copying a range of cells to several adjacent locations at once. If
any of the source cells contain a formula, all relative references
will be adjusted when the formula is copied.
---------------------------------------------------------------------
/Range Move
---------------------------------------------------------------------
This command moves the contents of a range of cells to a different
location. You will be asked to first define the range of cells to
move (source range), and then the destination. If any of the cells in
the source range contains a formula, then the references will be
adjusted to continue to point to the same data. References in other
cells which refer to the moved cell will also be adjusted so that they
continue to point to the same data.
When you define the destination, you only need to supply a single cell
address; the source range will be copied with the upper left corner in
the destination cell.
---------------------------------------------------------------------
/Range Name
---------------------------------------------------------------------
This command allows you to give a name to a cell or range of cells.
This name can then be used anywhere that a cell address or range
reference can be used by either typing in the range's name or by
pressing the <F3> Range key and selecting the name from a menu.
Create Allows you to name the cell or range. When this option is
selected, you are asked what you want to name the cell or
range. The name must begin with a letter of the alphabet
and can be up to 8 characters long. You are then asked to
define the range to name by typing in the range address or
by pointing out the range with the cursor keys.
Delete Releases the range name which is associated with a range.
You will be asked to type in the name to delete.
Reset Deletes all range names.
List Causes a list of the current range names to appear. Up to
16 names will be displayed at a time. Use <PgUp> and <PgDn>
to see more names.
---------------------------------------------------------------------
/Range Protect
---------------------------------------------------------------------
This command allows you to protect a range of cells. If, for example,
the range contains formulas that you do not want changed, use the
/Range Protect Yes command to guard against changes. If you
26
thereafter want to edit or change a cell in the range, use the /Cell
Protect No command to unprotect the cell. The default mode is
"protected."
A protected cell may still be modified until Worksheet protection is
enabled using the /Worksheet Protect Enable command. Worksheet
Protect is much like a "master switch" which turns protection
capabilities on and off for the entire Worksheet.
You will be asked to define the range you want to protect.
Yes Enables protection on the selected range.
No Disables protection on the selected range.
---------------------------------------------------------------------
/Worksheet Format
---------------------------------------------------------------------
This command allows you to choose a global format for the entire
Worksheet.
Options: General, Currency, Fixed, Percent, Science, Time, Date,
Hidden, Label
---------------------------------------------------------------------
/Worksheet Width
---------------------------------------------------------------------
This command allows you to set the default width of all columns in the
Worksheet. You will be prompted to enter the new global column width.
You may either enter a number, or use the arrow keys to change the
width. <Left> will narrow the column, and <Right> will widen the
column.
---------------------------------------------------------------------
/Worksheet Erase
---------------------------------------------------------------------
This command erases the current Worksheet's contents entirely. All of
the Worksheet settings are restored to their defaults. You will be
asked to confirm whether you really want to erase the worksheet.
Yes Erase the Worksheet from memory.
No Don't erase the Worksheet from memory.
---------------------------------------------------------------------
/Worksheet Justify
---------------------------------------------------------------------
This command allows you to change the way text strings are displayed
in each cell of the Worksheet. This command will not change they way
existing text cells are justified. It only determines how text
entered in the future will be displayed. The command has three
options:
27
Left Justifies text in cells to the left edge of the cell. When
a label is entered, it will appear beginning in the leftmost
character of the cell.
Right Justifies text in cells to the right edge of the cell. When
a label is entered, it will appear flush right in the cell.
Center Justifies text in cells to the center of the cell. When a
label is entered, it will appear centered in the cell.
---------------------------------------------------------------------
/Worksheet Ins Column
---------------------------------------------------------------------
This command inserts one or more blank columns at the current cell
pointer position. The current column and all the columns to the right
will be shifted right to make room for the blank columns. Relative
references in formulas will be updated by the change; absolute
references will remain unchanged. You will be asked how many blank
columns you want to insert. Use the arrow keys to highlight how may
columns should be inserted. If you highlight 2 columns, then 2
columns will be inserted.
---------------------------------------------------------------------
/Worksheet Insert Row
---------------------------------------------------------------------
This command inserts one or more blank rows at the current cell
pointer position. The current row and all the rows below will be
shifted down to make room for the blank rows. Relative references in
formulas will be updated by the change; absolute references will
remain unchanged. You will be asked how many blank rows you want to
insert. Use the arrow keys to highlight the number of rows that
should be inserted. If you highlight 3 rows, then 3 rows will be
inserted.
---------------------------------------------------------------------
/Worksheet Del Column
---------------------------------------------------------------------
This command deletes one or more columns at the current cell pointer
position. The contents of the deleted columns will be erased, and all
of the columns to the right will be shifted left to fill in the
deleted columns. Relative references in formulas will be updated by
the change; absolute references will remain unchanged. Use the arrow
keys to highlight the columns that should be deleted.
---------------------------------------------------------------------
/Worksheet Del Row
---------------------------------------------------------------------
This command deletes one or more rows at the current cell pointer
position. The contents of the deleted rows will be erased, and all of
the rows below will be shifted up to fill in the deleted rows.
Relative references in formulas will be updated by the change;
absolute references will remain unchanged. Use the arrow keys to
28
highlight the rows that should be deleted.
---------------------------------------------------------------------
/Worksheet Title
---------------------------------------------------------------------
This command allows you to lock (or hold) rows and columns on screen.
The command acts as a toggle; invoking it a first time turns the title
locking ON, and invoking it a second time turns the title locking OFF.
With title locking ON, the rows above the current cell and the columns
to the left of the current cell will be locked on screen. The cell
pointer will not move into the locked title rows and columns.
---------------------------------------------------------------------
/Worksheet Protect
---------------------------------------------------------------------
This command enables or disables the protection in the Worksheet.
When the Worksheet protection is disabled, any cell in the Worksheet
may be modified, regardless of whether the cell is protected or not.
When the Worksheet protection is enabled, those cells which are
protected using the cell or range protection commands may not be
modified or altered in any way.
Enable Turns Worksheet protection on.
Disable Turns Worksheet protection off.
---------------------------------------------------------------------
/Worksheet Zero
---------------------------------------------------------------------
This command allows you to suppress the display of all cells which
have a value of zero.
No Don't suppress the display of zeros.
Yes Suppress the display of zeros.
---------------------------------------------------------------------
/Worksheet Calc
---------------------------------------------------------------------
This command allows you to select whether InstaCalc should recalculate
the Worksheet after any cell is changed, or only when the <F9> Recalc
key is pressed.
Auto Recalculate the cells which need recalculation after any
cell is changed.
Manual Only recalculate the worksheet when the <F9> Recalc key is
pressed. Since the recalculation state of the worksheet
will usually not be current, InstaCalc will write the word
CALC in the upper right corner when the worksheet needs to
be recalculated.
Limited Allows you to limit recalculation to a range of cells. You
will be asked to define a range (or range) of cells which
should be recalculated instead of the entire worksheet.
Full Restores recalculation to the entire worksheet.
29
---------------------------------------------------------------------
/File Retrieve
---------------------------------------------------------------------
This command retrieves a file from disk into memory. You will be
asked for the name of the file to retrieve. If you press the <Enter>
key without a file name, the InstaCalc file manager will appear, from
which you may select a file with the cursor keys. When a file is read
in, all of the data, settings, and current face and pointer position
are loaded.
All current data will be cleared from memory when a new file is
loaded. InstaCalc checks to see if you have made any changes to the
current file, and will ask if you want to save your data before
loading the new file.
If the file was saved with a password (encrypted), then you will be
asked to enter the password to unlock it. If you provide the wrong
password, an error message will appear and the file will not be
retrieved into memory.
---------------------------------------------------------------------
/File Save
---------------------------------------------------------------------
This command asks you for a name to save the Worksheet as, then
proceeds to save the file to disk in the current directory. Pressing
the <Enter> key without a file name brings up the InstaCalc File
Manager, from which a file may be selected with the cursor keys. In
addition to data, all of the Worksheet settings are saved to disk.
If the file name you provide already exists in the current directory,
InstaCalc will ask you whether you want to overwrite the existing
file, or back it up. If you select Backup, the extension of the
existing file's name will be changed from .INS to .BAK, and the
current file will receive the .INS extension.
---------------------------------------------------------------------
/File Directory
---------------------------------------------------------------------
This command allows you to change the current directory or drive. You
may enter either a full DOS pathname or simply a subdirectory name to
be appended to the current directory. Pressing the <Enter> key
without a file name brings up the InstaCalc File Manager, from which a
directory may be selected with the cursor keys.
---------------------------------------------------------------------
/File Files
---------------------------------------------------------------------
This command presents a File Manager, and allows "point-and-shoot"
operations on files, directories, and drives.
You will be asked to enter a mask. A mask is simply a way of telling
InstaCalc which files you want to be displayed. You may use the
asterisk * in the mask. The asterisk will match any set of
30
characters. For example, if you enter the mask *.BAK, then the file
manager will list every file which ends with .BAK.
<Up> <Down> Using these keys, you can highlight files, drives, or
directories (depending on what area of the file manager
the highlighted bar is in). Operations can then be
performed on the selected file, drive, or directory.
<Left> <Right> Allows you to change files, drives, or directories.
If, for example, the highlighted bar is in the
"Directory" section of the file manager, and you wanted
to change drives, hitting the left arrow key will move
the bar into the "Drive" section. A new drive may be
selected by using the down arrow and Enter keys.
<Enter> Causes the highlighted file, drive, or directory to be
selected.
<F1> Causes a Help screen to appear, giving help on how to
use the File Manager.
<F2> Causes the currently highlighted file to be loaded.
<F3> Causes the highlighted file to be combined. For more
details see /File Combine.
<F4> Causes the highlighted file to be imported. For more
details see /File Import.
<F5> Allows you to edit the contents of the highlighted text
file. Although the macro editor will be used, you are
not limited to editing just macro (.MAC) files. See
/Macro Edit for details on the options available when
editing.
<F6> Causes the highlighted text file to be printed. This
function is primarily for printing out application
programs.
<F7> Causes the highlighted file to run, if it is a program
or batch file, and if enough memory is available.
<F8> Allows you to rename the highlighted file. You will be
prompted for a new name.
<F9> Copies the highlighted file to another drive,
directory, or name. You will be prompted for a new
drive, directory, or name.
<F10> Deletes the highlighted file. InstaCalc will request
confirmation before actually deleting the file.
<Ctrl><F2> Scans the current drive to update the directory tree.
The File Manager also simplifies the tasks of changing drives and
directories. To change to another directory, simply press the <Left>
key to highlight the word DIRECTORIES at the top of the screen, then
31
use the <Up> and <Down> keys to highlight the name of the directory
you want to change to. Once the name is highlighted, press the
<Enter> key and InstaCalc will change to that directory and list the
files in that directory.
Changing drives is just as easy. Simply press the <Left> key until
the word DRV is highlighted at the top of the screen, then press the
letter of the drive you want to change to. For example, if you want
to change to drive A:, then just press A.
---------------------------------------------------------------------
/File Combine
---------------------------------------------------------------------
This command allows you to combine several InstaCalc files into a
single file. You will be asked for the name of the file to be read
in, and the file will be loaded without clearing the Worksheet.
Pressing the <Enter> key without a file name brings up the InstaCalc
File Manager, from which a file may be selected with the cursor keys.
The original cells will remain unchanged unless the new file contains
data in the same cells. Blank cells in the new file will not affect
existing cells in the Worksheet. Current Worksheet settings will be
retained.
Copy The data in the new file will be combined into the current
Worksheet. If the new file and the current Worksheet
contain any data in the same cell, the data in the new file
will be copied over the data already in memory.
Add The data in the new file will be combined into the current
Worksheet. If the new file and the current Worksheet
contain values in the same cell, the value in the new file
will be added to the value already in memory. Since this
command is primarily for consolidating data from several
worksheets, cells containing text will not be combined into
the current file.
Subtract The data in the new file will be combined into the current
Worksheet. If the new file and the current Worksheet
contain values in the same cell, the value in the new file
will be subtracted from the value already in memory. Since
this command is primarily for consolidating data from
several worksheets, cells containing text will not be
combined into the current file.
Each of these options has two suboptions which determine how much of
the new file should be combined in.
All Combines in the entire file. Every cell in the new file will be
combined into the same location in the current Worksheet. For
example, cell X23 will be combined into cell X23 in the current
worksheet.
Part Combines in a range from the file. The cells in the range you
combine in will be combined starting at the location of the cell
pointer. For example, if the cell pointer is in cell D5, and you
combine in the range A1..D12 from the other file, then cell A1 in
32
the new file will be combined into cell D5 in the current
worksheet.
You will be asked for the range in the other file which you want
to combine in.
If the range you want to combine in was named with the /Range
Name command, you can press the <F3> Range key to bring up a menu
of all the named ranges in the other file.
---------------------------------------------------------------------
/File Xtract
---------------------------------------------------------------------
This command is similar to the /File Save command, except that it
saves a range of cells rather than the entire Worksheet. You will be
asked for the name of the file to save to, and to define the range of
cells to save. InstaCalc saves all of the Worksheet settings with the
saved range.
---------------------------------------------------------------------
/File Import
---------------------------------------------------------------------
This command imports data files from other programs into InstaCalc.
You will be asked for the name of the file to import. Pressing
<Enter> without a file name brings up the InstaCalc File Manager, from
which a file may be selected with the cursor keys.
1-2-3 Imports a Lotus 1-2-3 (tm) file. If InstaCalc encounters a
formula which uses an unsupported @function, it will read
the value of the formula rather than the formula itself.
dBase Imports selected records from a dBase (tm) file. Fields
will appear as columns, and records will appear as rows.
You do not have to import every field of the data base.
Before the import begins, InstaCalc will step through the
names of each field and ask if you want to import that
field. You may select:
Yes Import this field.
No Don't import this field.
All Import this and all the remaining fields.
You will then be asked to enter a criteria. The criteria is
a string which tells InstaCalc which records you want to
import. The criteria can be any valid InstaCalc formula
which returns a TRUE or FALSE value. The criteria may treat
any of the dBase field names as if they were range names in
the formula. The criteria can use any of the comparison
operators (=,<>,<=, etc) or logical operators (&,|, or ~).
If you press <Enter> without entering a criteria, then
InstaCalc will import every record from the dBase file (if
there is enough memory to hold them).
33
Some example criteria are:
STATE="Utah"
All records where the STATE field contains Utah
The only limitation to the criteria is that you may only use
the names of fields which you are actually importing. For
example, if you select No when asked if InstaCalc should
import the field called STATE, then you may not use STATE in
your criteria.
DIF Imports a Data Interchange Format (DIF) file. Many
databases and spreadsheets are capable of creating DIF
files.
ASCII Imports a comma delimited or space delimited ASCII file.
Each line in the ASCII file will be imported into a row in
the worksheet. Each line may contain multiple fields
(cells) of data, each of which must be separated by a comma
or space. If a string which contains spaces or commas is to
be imported into a single cell, then that string must be
surrounded by quotation marks "like this".
---------------------------------------------------------------------
/File Export
---------------------------------------------------------------------
This command exports a range of cells to the file format of another
program. You will be asked for the file name you want to export to,
and to define the range of cells you want to export. If the file name
you provide exists, InstaCalc will ask you if you want to Overwrite
the existing file or Cancel the operation.
1-2-3 This option allows you to export the range to a 1-2-3 R1
(WKS) or R2 (WK1) file. You must select from a menu which
version you want to export to. Any InstaCalc formula which
contains an @function which 1-2-3 doesn't support will be
exported as a value rather than a formula.
dBase This option allows you to export the range to a dBase II,
III, or III+ file. You must select from a menu which
version you want to export to.
InstaCalc will use the top row of the range you define as
the field names for the data to be exported. The widths of
each column will be used as the field width in the dBase
file.
Before the actual export is performed, InstaCalc will step
through each field name and ask you what type of field it
should be. The available field types are:
Character The values in the field are text.
Number The values in the field are numbers.
Logical The values in the field are TRUE or FALSE.
Date The values in the field are dates. This option is
34
available only when you export to dBase III or
III+.
DIF The file will be exported in the DIF (Data Interchange
Format) format.
ASCII The file will be exported to a comma delimited ASCII file.
Each row of the range will be on a separate line of the
ASCII file, and the value of each cell in the row will be
separated by a comma. Text items will be surrounded by
quotes ".
---------------------------------------------------------------------
/File Link
---------------------------------------------------------------------
This command allows you to link multiple spreadsheets together. You
are not limited to linking a single cell. You may link to an entire
range within another spreadsheet.
The current cell will contain the link. If you change the value of
the cell in the other spreadsheet, this "link cell" will change
accordingly.
If you create a link to a range of cells in another file, the link
cell will take on the same value as the cell in the upper left corner
of the range in the other file. The cells to the right of and below
the link cell will take on the values of corresponding cells from the
other file.
If a change is made to any of the linked cells in the other worksheet,
the current worksheet will be updated to reflect those changes.
Each time you retrieve a file which is linked to other files, you will
be asked if you want to update all of the links. If you select Yes
then InstaCalc will update every link in the file. If you select No
then InstaCalc will not update any of the links in the file.
Create Create or edit a link to another worksheet. You will be
asked for two items.
- The name of the file you want to link to. The file must
already be in existence.
- The name of the range you want to link to.
Delete Delete an existing link to another worksheet.
List List all of the links in the current Worksheet.
Edit Allows you to edit an existing link to another file.
Update Allows you to update a link to another file.
---------------------------------------------------------------------
35
/Print Block
---------------------------------------------------------------------
This command allows you to define a range to print. You will be asked
to define the range to be printed. The range will not actually be
printed until the /Print Go command is issued.
---------------------------------------------------------------------
/Print Rows
---------------------------------------------------------------------
This command allows you to define one or more rows which will be
printed above your data on each page. This command is useful when you
are printing a range which has more rows than will fit on a single
sheet of paper; it allows you to have a row of header data printed at
the top of each page.
---------------------------------------------------------------------
/Print Columns
---------------------------------------------------------------------
This command allows you to define one or more columns which will be
printed to the left of your data on each page. This command is useful
when you are printing a range which has more columns than will fit on
a single sheet of paper; it allows you to have a column of titles
printed at the left of each page.
---------------------------------------------------------------------
/Print Undefine
---------------------------------------------------------------------
Since InstaCalc remembers which range you printed last, it is
sometimes necessary to reset the /Print Block setting. When doing so,
it is usually easiest to clear the previous block setting entirely by
using the /Print Undefine command.
Block Clears the previous /Print Block setting.
Rows Clears the previous /Print Rows setting.
Columns Clears the previous /Print Columns setting.
All Clears all previous /Print range settings.
---------------------------------------------------------------------
/Print Align
---------------------------------------------------------------------
This command sets the current position of the printhead as the top of
the page. This is important; the printer and the program will be
keeping individual track of the top of the page. It is good habit to
precede the /Print Go command with the /Print Align command.
36
---------------------------------------------------------------------
/Print Line
---------------------------------------------------------------------
This command sends a line feed to the printer, causing the printer to
print a blank line. Since the printer and the program are keeping
separate track of the pagination, sending a line feed through the
printer control panel will cause the program's pagination to be off by
a line, resulting in unwanted offsets in your printout. More
importantly, though, it is usually easier to advance the paper one
line using this command than by using the printer's control panel.
---------------------------------------------------------------------
/Print Page
---------------------------------------------------------------------
This command sends a form feed to the printer, causing the paper to
advance one page. This is usually done at the end of a printout,
since printing will stop with the last line actually printed. Thus,
to remove the page from the printer, simply select the /Print Page
command. Since the printer and the program are keeping separate track
of the pagination, sending a form feed through the printer control
panel will cause the program's pagination to be off, resulting in
unwanted offsets in your printout.
---------------------------------------------------------------------
/Print Options
---------------------------------------------------------------------
This command allows complete control over the format of the printout.
There are numerous options, all visible from a single pop-up screen.
You may select an option either by pressing the first letter of the
option name (highlighted), or by using the arrow keys to highlight the
option and pressing the <Enter> key.
Left Margin Lets you set the number of characters from left edge of
the page to begin printing.
Right Margin Lets you set the number of characters from left edge of
the page that you want your right margin set to. The
right margin must be greater than the left margin or an
error will occur.
Top Margin Lets you set the number of blank lines to print at the
top of each page. If you set this option to 3,
InstaCalc will begin printing on the fourth line of the
page.
Bottom Margin Lets you set the number of blank lines to print at the
bottom of each page. InstaCalc will automatically
advance the paper to the next page before it resumes
printing.
Page Length Lets you set the number of physical lines on a page.
On an 8 1/2" x 11" paper at 6 lines per inch, there are
66 lines. InstaCalc must have this information so that
it can keep track of where it is on the page.
37
Header Allows you to enter a header, which will appear at the
top of every page. If no header is defined, then a
blank line will be printed in its place.
Footer Allows you to enter a footer, which will appear at the
bottom of every page. If no footer is defined, then a
blank line will be printed in its place.
Mode Lets you decide what type of printout you want.
Display The printout will appear as the file does on-
screen; that is, the values calculated by the
formulas will be printed.
Formula The formulas themselves will be printed, one
cell per line. This is useful for
documentation and error-handling.
Output Lets you decide where to send your output.
Printer All output will be sent to the printer.
File All output will be sent to a file. You will
be asked for the name of the file you want to
send the printout to.
Number (page) Displays the current page number, which you can set or
reset.
Setup string The setup string is a sequence of characters which will
be sent to your printer before the range is printed.
It is generally used to send control sequences to your
printer to turn on special features such as condensed
printing. Most printer codes contain control
characters which can't be entered directly. To enter
control characters, simply enter a backslash character
\ followed by the 3 digit ASCII code (in decimal) for
the control character.
For example, since the ASCII value (in decimal) for the
<Esc> character is 27, you would use a setup string of
\027E to send an <Esc>E to the printer (this sequence
selects emphasized print on an EPSON printer).
---------------------------------------------------------------------
/Print Go
---------------------------------------------------------------------
This command begins the process of printing. InstaCalc will not begin
printing until it receives this command.
If the range you are trying to print is wider than the left and right
margins allow, InstaCalc will ask if you want if to break the page
into smaller pieces for printing. These pieces can then be put back
together into a larger sheet.
38
If you don't want the printout to be broken into smaller pieces, then
you must go back into the /Print Options and reset your left and right
margins to allow for a wider printout.
If you want to abort the print job after it has started, simply press
the <Esc> key (printers with built-in print buffers will continue to
print until the print buffer has been emptied).
---------------------------------------------------------------------
/Graph
---------------------------------------------------------------------
This command allows you to define the ranges to be graphed, set
options for the graph, and then view or print the graph.
Type Select the type of graph. The following types of graphs are
available.
Bar Bar chart.
Stacked Bar Stacked bar chart.
Line Line chart.
Pie Pie chart using data in range A.
X-Y X-Y chart. Range X must contain the X axis
coordinates for the values in ranges A
through F.
Area Area chart.
Hi-Lo Hi-Lo chart. Range A contains the high
values, and range B contains the low values.
3 Axis 3 axis graphs for bar, area, and line charts.
Depth Adds depth to bar, area, and pie charts.
Explode Enter the number of the pie slice to explode.
X Allows you to select a range of cells containing the labels
which will be used on a graph's X axis. You will be
prompted for the range containing the labels. For most
graph types the cells in this range may contain text,
values, or both. For X-Y graphs, this range must contain
the x axis values which correspond to the graph ranges (A
through F). Defining this range is mandatory for X-Y
graphs.
A..F Allows you to select up to 6 ranges of data to graph. With
the exception of pie charts and hi-lo graphs, all of these
ranges can be displayed on a graph at the same time.
Reset Resets the ranges of the graph, allowing you to undefine
data ranges to be charted. You can reset individual ranges
or all ranges at the same time.
Options Allows you to set various options for the graph.
General: lets you enter titles, x and y axis labels, and
grids. You may also select the scaling for both the x and y
axes.
39
Color: lets you select colors for various parts of your
chart.
Fonts: lets you select fonts to be used.
Patterns: lets you select fill patterns.
Legends: lets you enter a legend for each graph range (A..F)
Annotate: lets you draw freeform text and lines on your
charts. This free form text will be saved along with your
chart. Your chart will be displayed, and the following
buttons will be available:
Text: lets you enter and add text to your chart
Line: lets you draw a line on your chart
Color: lets you change the color of text or a line
Move: lets you move an item you have added
Font: lets you change the font for text you have added
Delete: lets you delete an item you have added
Spreadsheet: exits from the annotator
Print Prints the defined graph to the printer. The current
printer type and port is displayed next to the print
command.
NOTE: In this shareware version, only the drivers for Epson
compatible and LaserJet compatible printers are
supplied. The other drivers are provided when you
register.
Printer: lets you select the appropriate printer
Format: lets you select the resolution for your chart
Orientation: Portrait or Landscape
Height: height of the chart in inches
Width: width of the chart in inches
Left: left margin in inches
Top: top margin in inches
Go: begin printing the chart
Name Save and retrieve graph settings.
Save Save chart as a PCX, WPG, CGM or other format file. These
drivers are provided when you register.
View Displays the defined graph on your screen. Once the graph
is displayed, pressing any key will return you to the
worksheet.
---------------------------------------------------------------------
/Data Sort
---------------------------------------------------------------------
This command allows you to sort rows or columns of data, in either
ascending or descending order. A window of options will appear on the
screen. To change an option, either press the key corresponding to
the first letter of the option name (D for Direction for example), or
40
use the cursor keys to move the lightbar to the option you want to
change and press the <Enter> key.
Direction Determines how your data is to be sorted.
Row Rows will be sorted.
Column Columns will be sorted.
Block You will be asked to define the range to sort. This
range should include all of the rows or columns which
you want rearranged.
1st - 9th Key The Key options indicate the fields to be used in
determining the sorted (new) order of the data. You
will be prompted to indicate the column or row that
contains the data by which the sort is to be performed.
The column or row may be indicated either by pointing
or by typing an appropriate cell address.
You will also be asked whether the sort should be in
Ascending or Descending order.
Reset This command resets all of the sort settings. This
function is necessary when you need to undefine the
sort keys.
Start Pressing the Start key in the options menu will cause
the sort to be performed as indicated in the menu.
---------------------------------------------------------------------
/Data Fill
---------------------------------------------------------------------
This command allows you to fill a specified range of cells with text
or numbers. You will be asked for an equation which is used to
determine the values placed in each of the cells to be filled.
A variable named # is initialized to 0 and is incremented by 1 for
each cell in the range. The # variable may be used anywhere in the
equation to provide an endless number of sequences. The equation
entered with this command may be any legal formula containing numbers,
operators, cell or range references, functions, or the # variable.
Cell references in the formula are treated as relative unless you
specifically make them absolute using the $ symbol.
---------------------------------------------------------------------
/Data Value
---------------------------------------------------------------------
This command converts formulas in a range to their values. You will
be asked to define a range of cells to convert. Since formulas
require more memory than values, this command helps conserve memory
when you just need a set of values rather than the formulas.
41
---------------------------------------------------------------------
/Data Modify
---------------------------------------------------------------------
This command allows you to modify all of the values in a range. You
may specify that each cell in a specified range be multiplied by 5, or
subtracted from the average value of the range, or that they be
modified in any of the ways that a legal formula may provide. You
will be asked to define the range to modify, as well as an equation to
modify the cells with.
This command provides a variable named # which is set to the value of
each cell in the range. This variable may be used just like a number
or cell reference in the formula.
---------------------------------------------------------------------
/Data Base
---------------------------------------------------------------------
This command allows you to define and use a range of cells as a
database. Each column in the range will be treated as a database
field, and each row in the range will be treated as a record in the
database. You may have up to 23 fields (columns) in your database.
If the range you define is wider than 23 columns, all columns past the
23rd will be ignored.
The top cell in each column must contain the name of that field.
In addition, InstaCalc will use the format of the header cell (whether
Currency, Date, etc) for all data entered into that field. This means
it is not necessary to pre-format entire columns of blank cells before
using the database form.
Range You will be asked to define the range of cells to use for
your database. Each column in the range will be treated as
a database field, and each row in the range will be treated
as a record in the database.
View This command displays the defined range in a database form
view, using the information you provided in the cell at the
top of each column.
The following commands are available in the form view:
Next Move to the next record in the database.
Prior Move to the prior record in the database.
Begin Move to the first record in the database.
End Move to the last record in the database.
Modify Modify the currently displayed record. When
modifying a record, the fields will be accessed in
the order of the columns in the worksheet.
42
You may use <Enter> to accept the value of each
field and move to the next field, or you may use
<Up> and <Down> to move back and forth between
fields. When you are finished modifying the
record, simply press <F10> to return to the
database menu.
Add Allows you to add new records to the database.
Add is similar to Modify except that you may press
<F9> to accept the entered data and move to a new
(blank) record. Pressing <F10> accepts the
entered record and returns you to the database
menu.
Find Find a record in the database. You will be asked
to enter criteria for the record(s) to search for.
This criteria can use field names, comparison
operators (=,<>,<=, etc), logical operators (&,|,
or ~) or even @functions. For example, if you
want to find all records where the last name is
Smith and the state is NY, then you might use the
following criteria:
(LNAME="Smith")&(STATE="NY")
Del Delete the currently displayed record. You will
be asked to confirm this selection.
---------------------------------------------------------------------
/Data Goalseek
---------------------------------------------------------------------
The /Data Goalseek command allows you to easily determine what value
must be entered into a cell to make a formula give a desired result.
The formula does not have to directly reference the cell, and the
model may be as complex as desired. The more complex the worksheet,
however, the longer the goalseeking will take.
To perform the goalseeking, select the /Data Goalseek command, then:
1. Select the formula you want to achieve a particular goal value.
2. Enter the goal value you want that formula to achieve.
3. Select the cell which InstaCalc should adjust to achieve that goal.
After InstaCalc finds a solution, it displays the solution and
provides the following options:
Use Enter the new value into the cell which InstaCalc was
adjusting.
Ignore Restore the original value to the cell which InstaCalc was
adjusting.
43
---------------------------------------------------------------------
/Data matriX
---------------------------------------------------------------------
The /Data matriX command allows you to add, multiply, and transpose
ranges of cells.
Multiply Multiplies two ranges.
Add Adds two ranges together.
Transpose Transposes (swaps columns with rows) a range.
---------------------------------------------------------------------
/Data Query
---------------------------------------------------------------------
The /Data Query command allows you to extract (copy) selected database
records (or parts of records) from an input range to an output range,
or to delete selected records from an input range.
Input The input range consists of a single record per row,
where the first row in the range contains the field
names for the database.
Output The output range is used as the location to place the
records extracted from the input range. If you only
define the output range as one row, InstaCalc will
automatically extend the range to row 4096.
Criteria The criteria is a string which tells InstaCalc which
records you are interested in extracting or deleting.
The criteria can be any valid InstaCalc formula which
returns a TRUE or FALSE value. The criteria may treat
any of the database field names as if they were range
names in the formula. The criteria can use any of the
comparison operators (=,<>,<=, etc) or logical
operators (&,|, or ~).
Some example criteria are:
STATE="Utah"
All records where the STATE field contains Utah
(STATE="Utah")&(LASTNAME="Smith")
All records where the STATE field contains Utah and the
LASTNAME field contains Smith
Extract Allows you to extract (copy) selected records (and
fields) from the Input range to the Output range. The
top row of the Output range must contain the names of
the specific fields you want extracted. This allows
you to extract only those fields you are interested in.
The Output range is erased before the records are
extracted. If more records match the criteria than
44
will fit in the Output range, an error message will
appear.
Delete Allows you to delete records which match the Criteria
from the input range. You will be asked to confirm
this selection with a Yes or No answer.
---------------------------------------------------------------------
/Data Dist
---------------------------------------------------------------------
This command generates a frequency distribution of a range of cells.
You simply define the range of cells which contain the values you want
a distribution of, and a "bin range", which is simply a column of
increasing values. InstaCalc will look at the first value in the "bin
range", count how many cells in the value range are less than or equal
to that value, and insert that count into the cell to the right of the
first bin.
InstaCalc then looks at the second value in the "bin range", counts
how many cells in the value range are less than or equal to that value
but are greater than the previous bin value, and inserts that count
into the cell to the right of the second bin. This continues through
the last cell in the "bin range".
Finally, InstaCalc counts the number of cells in the value range which
are greater than the last cell in the "bin range", and places that
count to the right of the cell just under the "bin range".
Summary
1. Define the range containing your values.
2. Define the column range containing your bin values. The bin values
must be in increasing order.
3. InstaCalc will determine how many cells in the value range fall in
each of the "bins" in the bin range. The result for each bin will be
placed in the cell to the right of each bin.
By graphing (as a bar graph) the result of a data distribution, you
will obtain a histogram of the original data.
---------------------------------------------------------------------
/Data Audit
---------------------------------------------------------------------
This command provides several auditing capabilities which can assist
you in finding errors which sneak into your worksheets.
Trace Allows you to highlight all formulas which refer to a
specific cell. InstaCalc will enter a trace mode, where
45
pressing <Enter> on any cell will highlight all formulas
which reference that cell. All the standard movement keys
are available to move through the worksheet to find
highlighted cells which may not be on the screen. To exit
from Trace mode, simply press <Esc>.
Map Displays your worksheet in a compressed form where each cell
is represented by one of the following characters:
+ Formula
# Number
A Text
? Error
To exit from map mode, simply press the <Esc> key.
---------------------------------------------------------------------
/Macro Edit
---------------------------------------------------------------------
This command allows you to edit or create a macro. You will be asked
for the name of a macro to edit. Pressing <Enter> without entering a
macro name will cause the InstaCalc File Manager to appear on-screen;
the macro name may then be chosen from the File Manager. Once a macro
is chosen, the InstaCalc Macro Editor will display the macro and allow
you to edit it. The following commands are available for editing the
macro.
<Up> <Down>
<Left> <Right> The arrow keys move the cursor up or down one line, or
left or right one character.
<Home> This key moves the cursor to the beginning of the line.
<End> This key moves the cursor to the end of the line.
<Ctrl><Right> This key moves the cursor one word to the right.
<Ctrl><Left> This key moves the cursor one word to the left.
<Ctrl><Home> This key moves the cursor to the top of the file.
<Ctrl><End> This key moves the cursor to the end of the file.
<PgDn> This key moves the cursor down one screen.
<PgUp> This key moves the cursor up one screen.
<BkSp> This key deletes the character to the left of the
cursor and shifts the following characters in the line
to the left to fill in the empty space.
<Ctrl><BkSp> This key deletes the entire line.
<Del> This key deletes the character underneath the cursor
and shifts the following characters in the line to the
left to fill in the empty space.
<Ins> This key toggles between insert and overwrite modes.
When you are in insert mode, typing a character will
insert the new character into the line at the point
where the cursor is. The character under the cursor and
those to the right of the cursor are shifted to the
right to make room for the new character. When you are
in overwrite mode, typing a character will replace the
46
character under the cursor with the new character.
When you are in insert mode, the cursor will be an
underline. In overwrite mode the cursor will be a
solid block.
<F1> Help This key causes a help screen to appear which lists all
of the commands available for text editing.
<F2> Mark This key turns on marking at the current line. Moving
the cursor after pressing this key causes lines between
that line and the new cursor position to be
highlighted. Pressing <F2> a second time will turn off
text marking.
<F3> Cut Pressing this key with marking turned on (<F2>) causes
the marked lines to be cut out of the file and placed
in a buffer. You may then move to another location in
the file and use the <F4> key to paste the lines back
into the file. The buffer will only hold one block of
lines, so if you cut data a second time, the new data
replaces the older data in the buffer.
<F4> Paste This keys causes the contents of the buffer to be
pasted into the file at the cursor location. This does
not clear the buffer, so you may paste the same buffer
data into more than one location.
<F5> DelLine This command deletes the line the cursor is on.
<F6> Search This command allows you to search for a string in the
file. You will be asked to enter the text you want to
search for. Simply enter the text, and the cursor will
be moved to the next occurrence of that text. The
search is case insensitive, which means that hello will
match hello, Hello, or HeLlO.
<F7> Save This command allows you to save the current file to
disk without having to exit.
<F10> Exit This command allows you to exit from the editor. If
you have made any changes to the file, you will be
asked if you want to save it first.
---------------------------------------------------------------------
/Macro List
---------------------------------------------------------------------
This command lists all of the macros in the current directory. The
command uses the InstaCalc File Manager to find files with the .MAC
extension.
47
---------------------------------------------------------------------
/Macro Run
---------------------------------------------------------------------
This command executes a macro (or application program). You will be
asked for the name of a macro to run. Pressing the <Enter> key
without indicating a macro to be run will cause the InstaCalc File
Manager to appear on-screen. You may then choose the macro to be run
using the File Manager. For information on creating macros and
application programs, see the section InstaCalc Applications.
---------------------------------------------------------------------
/OpSys
---------------------------------------------------------------------
This command allows you to temporarily return to the DOS command line,
where you can execute DOS commands or other programs. When you are
ready to return to InstaCalc, simply type EXIT at the DOS prompt.
IMPORTANT: Never run TSRs from the /OpSys command line (this includes
the DOS PRINT command). Doing so can cause unexpected problems to
occur.
This command is not available when running as a pop up.
---------------------------------------------------------------------
/Quit
---------------------------------------------------------------------
This command allows you to leave InstaCalc entirely. This is an
intelligent exit command; if you have made changes, InstaCalc will
allow you to save the file before exiting. If no changes have been
made, InstaCalc will simply exit the program.
When running InstaCalc as a pop up program, you will not be asked to
confirm exiting, because your data is not lost when you quit.
If changes have been made to the Worksheet since the last time you
saved it, you will be asked if you want to lose the changes you made.
48
BUILT-IN FUNCTIONS
------------------
InstaCalc provides built-in functions which you can use in your
formulas. These built-in functions each begin with the character @,
and are often called at functions.
Most of these functions require one or more arguments. An argument is
a value which the function uses as an input to provide an output
value. An argument may be a number, a text string, a reference to a
value in another cell, or another formula. In the case of the
statistical functions, an argument may also be a range of cells. If a
function requires arguments, then they are enclosed in parentheses and
immediately follow the name of the @function. If more than one
argument is required, they must be separated from each other with a
comma.
A built-in function can return either a numerical or text value and
may be treated exactly like a number or text would be.
Example:
A cell contains the formula =2*@ABS(-3).
@ABS is the name of a built-in function which returns the absolute
(positive) value of its argument.
-3 is the argument to the function.
The function returns a value of 3, and is used in the rest of the
formula just like the number 3. The value of the entire formula is 6
(2 times the value of the @function).
If the value that a function returns is an error, it will return the
special value ERROR. A formula which contains a function with a value
of ERROR will also return ERROR as the value for the cell it is in.
Mathematical
------------
InstaCalc's math functions allow your formulas to perform more
sophisticated mathematical operations than the operators alone can
provide.
Trigonometric
-------------
InstaCalc's trigonometry functions work the same way as the
mathematical functions, but they specialize in working with angles.
All angle arguments and results are in radians. To convert from
degrees to radians, use the @RADIAN function. To convert from radians
to degrees, use the @DEGREE function.
Statistical
-----------
InstaCalc's statistical functions allow you to analyze and summarize
your data in a variety of ways. The statistical functions calculate
and return various statistics of a list of values. The list may
consist of numbers, references to values in other cells, formulas, or
49
a range of cells. Ranges of cells are defined by using the cell names
of two opposite corners of the range separated by two periods (for
example: C14..D16). Each individual item in the list must be
separated by a comma.
For example, suppose you want to sum 1.23, the value in the cell A1,
and the values in each cell in the range defined by the cells C14 and
D16. You would simply use the formula:
=@SUM(1.23,A1,C14..D16)
Financial
---------
InstaCalc's financial functions allow you to perform many powerful
analyses. Functions include formulas to compute time value of money
calculations, depreciation calculations, and growth rate calculations.
Date/Time
---------
InstaCalc represents dates as the number of days since December 31,
1899. For example:
Jan 1, 1900 = 1
Jan 2, 1900 = 2
and so on.
Time is represented as a fraction of a day (starting at midnight).
For example:
midnight = 0.0
noon = 0.5 because it is half way through the day,
6:00PM = 0.75 because it is 3/4 way through the day,
and so on.
This allows dates and times to be manipulated with ordinary math
operations. For example, you could find out what day, month, and
year 90 days from today is by simply adding 90 to the number which
represents today's date.
Logical
-------
The InstaCalc logical functions evaluate their arguments to determine
one thing: truth or falsity. Typically, logical functions supply the
value 1 as the representative of truth, and 0 as the representative of
falsity.
Macro
-----
InstaCalc provides several @functions which are designed to be used in
application programs.
String
------
50
The InstaCalc string functions allow you to process character strings
more efficiently. They are often used when importing data from other
programs, printing, and in macros that process strings.
Data
----
InstaCalc's data functions allow your formulas to access data in a
variety of ways, from lookup tables, to access to global and cell
statistics.
---------------------------------------------------------------------
@ABS Mathematical
---------------------------------------------------------------------
Function Returns the absolute (positive) value of a number.
Syntax @ABS(x)
where x is a number, a cell address, or a calculated value.
---------------------------------------------------------------------
@ACOS Trigonometry
---------------------------------------------------------------------
Function Returns the arc cosine of a number.
Syntax @ACOS(x)
where x is a number, a cell address, or a calculated value.
Remarks This function returns the angle whose cosine is x. The
value of x must be between -1 and 1, or @ACOS will return
the value ERROR. The value of the angle returned will be in
radians, and will lie between 0 and pi. If you want the
result to be in degrees instead, then use the @DEGREES
function to convert the result.
---------------------------------------------------------------------
@ASIN Trigonometry
---------------------------------------------------------------------
Function Returns the arc sine of a number.
Syntax @ASIN(x)
where x is a number, a cell address, or a calculated value.
Remarks This function returns the angle whose sine is x. The value
of x must be between -1 to 1, or @ASIN will return the value
ERROR. The value of the angle returned will be in radians,
and will lie between pi/2 and -pi/2. If you want the result
to be in degrees instead, then use the @DEGREES function to
convert the result.
51
---------------------------------------------------------------------
@ATAN Trigonometry
---------------------------------------------------------------------
Function Returns the arc tangent of a number.
Syntax @ATAN(x)
where x is a number, a cell address, or a calculated value.
Remarks This function returns the angle whose tangent is x. The
value of the angle returned is in radians. If you want the
result to be in degrees instead, then use the @DEGREES
function to convert the result.
Since the @ATAN function finds an angle based on a single
value, the result is limited to quadrants I and IV (-pi/2 to
pi/2). If you want to find a 4 quadrant angle, you must use
the @ATAN2 function.
---------------------------------------------------------------------
@ATAN2 Trigonometry
---------------------------------------------------------------------
Function Returns the four quadrant arc tangent of y/x.
Syntax @ATAN2(x,y)
where x and y are numbers, cell addresses, or calculated
values.
Remarks This function returns the angle whose tangent is y/x.
The @ATAN2 function calculates the value of the arc tangent
differently than the @ATAN function. Where the @ATAN
function takes as its argument the value of the tangent, the
@ATAN2 function calculates the value of the arc tangent
using the x and y coordinates. The result will be a full 4
quadrant angle, and will be between -pi and pi.
---------------------------------------------------------------------
@AVG Statistical
---------------------------------------------------------------------
Function Returns the average of a list of values.
Syntax @AVG(list)
where list is a list of values separated by commas, or a
range containing values, or some combination of the two.
Remarks This function calculates the average, or mean, of the values
in list.
52
---------------------------------------------------------------------
@CELL Data
---------------------------------------------------------------------
Function Returns information about a cell.
Syntax @CELL(attribute,range)
where attribute is a string in quotations or a cell
reference; and range is a cell range, named or otherwise.
Remarks This function returns information about the upper left cell
in range. Although the information is only for a single
cell, range must be entered as a range instead of a single
cell. Attribute must be one of the following strings:
"address", "col", "contents", "format", "prefix", "protect",
"row", or "type". @CELL is primarily for use in
applications to determine certain characteristics about a
cell.
attribute @CELL returns
"address" the name of the cell (for example B5)
"col" the column number of the cell (1 through 256)
"contents" the contents of the cell
"format" the formatting of the cell
0 Default
1 Fixed
2 Currency
3 Percent
4 Scientific
5 Hidden
6 Text
7 Fixed with commas
8 Currency with commas
9 Percent with commas
10 dd-mmm-yy
11 dd-mmm
12 mmm-yy
13 mm/dd/yy
14 Month DD, YYYY
15 HH:MM AM/PM
16 HH:MM Military
17 General
"prefix" the justification character of the cell
' if left justified
" if right justified
^ if centered
blank if the cell doesn't contain text
"protect" the protection status of the cell
0 = Not protected, 1 = Protected
"row" the row number of the cell (1 through 4096)
"type" the type of data in the cell.
53
BLANK, FORMAT, NUMBER, TEXT, FORMULA,
TXTFORM, ERROR
"width" the width of the column the cell is in.
---------------------------------------------------------------------
@CHANGED Macro
---------------------------------------------------------------------
Function Returns the save status of the Worksheet.
Syntax @CHANGED
Remarks This function returns a value of 1 (TRUE) if any changes
have been made to the Worksheet since it was last saved, and
0 (FALSE) if no changes have been made.
---------------------------------------------------------------------
@CHAR String
---------------------------------------------------------------------
Function Returns a character, based on its ASCII value.
Syntax @CHAR(x)
where x is a number, a cell address, or a calculated value.
Remarks This function returns the ASCII character for the value x.
The value of x must lie in the range 1 to 255.
---------------------------------------------------------------------
@CHOOSE Data
---------------------------------------------------------------------
Function Choose an item from a list.
Syntax @CHOOSE(x,y1,y2,y3...yn)
where x is an offset value, and y1...yn is the list of items
to choose from.
Remarks This function performs a simple lookup based on the value of
x. If x has a value of 1, then @CHOOSE will return y1; if x
has a value of 2, then @CHOOSE will return y2, and so on.
The items in the list can be numeric, text, or both.
If x is less than 1 or greater than the number of items in
the list, then @CHOOSE will return the value ERROR.
---------------------------------------------------------------------
@CINT Financial
---------------------------------------------------------------------
Function Returns the principal and interest after compounding.
Syntax @CINT(principal,int,n,q)
54
where principal, int, n, and q are numbers, cell addresses,
or calculated values.
Remarks This function returns the total amount of principal and
interest accumulated after compounding. principal is the
starting principal amount, int is the rate of interest per
period, n is the number of periods, and q is the number of
times per period that interest is compounded.
---------------------------------------------------------------------
@CNAME Data
---------------------------------------------------------------------
Function Returns the name of a cell.
Syntax @CNAME(col,row)
where col and row are numbers, cell addresses, or calculated
values.
Remarks This functions returns the name of a cell based on the
column and row number of the cell.
---------------------------------------------------------------------
@CODE String
---------------------------------------------------------------------
Function Returns the ASCII value of a character.
Syntax @CODE(string)
where string is a string in quotations, or a cell address.
Remarks This function returns the ASCII value of the first character
in string. If the length of string is zero, or is not a
string, then @CODE will return the value ERROR.
---------------------------------------------------------------------
@COLS Data
---------------------------------------------------------------------
Function Returns the number of columns in a range.
Syntax @COLS(range)
where range is a cell range, either named or otherwise.
Remarks This function returns the number of columns in range.
---------------------------------------------------------------------
@COS Trigonometry
---------------------------------------------------------------------
Function Returns the cosine of an angle.
Syntax @COS(x)
where x is a number, a cell address, or a calculated value.
55
Remarks This function returns the cosine of the angle x. x must be
in radians. If x is in degrees, then you must use the
@RADIANS function to convert x to radians first. The result
of @COS will be between -1 and 1.
---------------------------------------------------------------------
@COSH Trigonometry
---------------------------------------------------------------------
Function Returns the hyperbolic cosine of an angle.
Syntax @COSH(x)
where x is a number, a cell address, or a calculated value.
Remarks This function returns the hyperbolic cosine of the angle x.
x must be in radians. If x is in degrees, then you must use
the @RADIANS function to convert x to radians first.
---------------------------------------------------------------------
@COUNT Statistical
---------------------------------------------------------------------
Function Returns the number of values in a list.
Syntax @COUNT(list)
where list is a list of items separated by commas, or a
range containing values, or some combination of the two.
Remarks This function counts all of the cells in list which contain
data. Blank cells in a range are not counted, but
individual cell references are always counted, even if they
are blank.
---------------------------------------------------------------------
@CTERM Financial
---------------------------------------------------------------------
Function Returns the number of periods for an investment to reach a
future value.
Syntax @CTERM(rate,fv,pv)
where rate, fv and pv are numbers, cell addresses, or
calculated values.
Remarks This function returns the number of periods needed to reach
a given future value, using a specified initial investment
and a periodic interest rate.
rate is the periodic interest rate, fv is the future value
to be reached, and pv is the initial investment.
@CTERM is often used in retirement planning, where a fixed
amount of money (usually large) is necessary to sustain
retirement. @CTERM can determine whether a certain
56
investment is likely to reach the monetary goal in the
necessary time period.
---------------------------------------------------------------------
@DATE Date/Time
---------------------------------------------------------------------
Function Returns a date number for a date.
Syntax @DATE(year,month,day)
where year, month, and day are numbers, cell addresses, or
calculated values.
Remarks This function returns the date number for year, month, and
day. The date number is the number of days from Dec 31,
1899 to the given date. Formatting a cell containing a date
number using the /Range Format Date commands will turn the
number into a readable date. The key use for all date
commands is in date arithmetic--the determination of time
between two periods.
---------------------------------------------------------------------
@DAY Date/Time
---------------------------------------------------------------------
Function Returns the day of the month.
Syntax @DAY(date number)
where date number is a number, cell address, or calculated
value.
Remarks This function returns the day of the month of date number.
---------------------------------------------------------------------
@DDB Financial
---------------------------------------------------------------------
Function Returns the amount of depreciation of an asset using the
double-declining balance method.
Syntax @DDB(cost,salvage,life,period)
where cost, salvage, life, and period are numbers, cell
addresses, or calculated values.
Remarks This function calculates the amount of depreciation of an
asset using the Double-Declining Balance method of
accelerated depreciation.
cost is the cost of the asset, salvage is the salvage value
of the asset after it is totally depreciated, life is the
useful life of the asset, and period is the period within
that life in which the depreciation is being calculated.
The depreciation for a period is:
57
(book value * 2) / life
where the book value for a period is:
cost - (total depreciation for all prior periods)
The total depreciation over the life of the asset will never
exceed the assets cost - salvage value.
---------------------------------------------------------------------
@DEGREES Trigonometry
---------------------------------------------------------------------
Function Converts radians to degrees.
Syntax @DEGREES(x)
where x is a number, a cell address, or a calculated value.
Remarks Although all of InstaCalc's trigonometry functions operate
on angular values expressed in radians, it is often easier
to analyze angular data when expressed in degrees. The
@DEGREES function provides an easy way to convert a value
from radians to degrees.
---------------------------------------------------------------------
@DIR Macro
---------------------------------------------------------------------
Function Returns the name of the current directory.
Syntax @DIR
Remarks This function returns the name of the current directory.
---------------------------------------------------------------------
@ENVIRON Macro
---------------------------------------------------------------------
Function Returns the value of an environment variable.
Syntax @ENVIRON(var)
Remarks This function allows your applications to check the DOS
environment for variables which may be stored there.
---------------------------------------------------------------------
@ERROR Data
---------------------------------------------------------------------
Function Returns the value ERROR.
Syntax @ERROR
58
Remarks This function causes the ERROR flag to appear in the cell in
which it is entered.
---------------------------------------------------------------------
@EXACT String
---------------------------------------------------------------------
Function Compares two text strings.
Syntax @EXACT(string1,string2)
where string1 and string2 are strings in quotations or cell
addresses.
Remarks This function returns the value 1 (TRUE) if string1 and
string2 are identical, or the value 0 (FALSE) if they are
not.
Comparing two strings with the @EXACT function is different
than comparing them with the = operator. Strings compared
with the @EXACT function must be exactly the same for a TRUE
result, while strings compared with the = operator may
differ in case and still be considered equal.
---------------------------------------------------------------------
@EXP Mathematical
---------------------------------------------------------------------
Function Returns e raised to a power.
Syntax @EXP(x)
where x is a number, a cell address, or a calculated value.
Remarks This function returns e^x. e is approximately 2.71828. x
must be less than 85.2 or an overflow will occur and the
value ERROR will be returned. This function is the inverse
of the @LN function. To use the value of e in a formula,
use @EXP(1).
---------------------------------------------------------------------
@FACT Mathematical
---------------------------------------------------------------------
Function Returns the factorial of a number.
Syntax @FACT(x)
where x is a number, a cell address, or a calculated value.
Remarks The factorial of x is x * (x-1) * (x-2)...* 1.
x must be between 0 and 30 (inclusive), otherwise @FACT will
overflow and return ERROR. x should be an integer; if it is
not an integer, the program will use the value of the
argument rounded to the nearest integer.
59
---------------------------------------------------------------------
@FALSE Logical
---------------------------------------------------------------------
Function Returns the value FALSE (0).
Syntax @FALSE
Remarks This function returns the value 0 (FALSE).
The primary purpose of the @FALSE function is to help make
logical formulas easier to read.
---------------------------------------------------------------------
@FILE Macro
---------------------------------------------------------------------
Function Returns various information regarding a file.
Syntax @FILE(filename,attribute)
where filename and attribute are strings in quotations or
cell addresses.
Remarks This function returns various information about the file
named filename. Attribute is one of the following strings
which tells what information to return: "PATH", "DATE", or
"EXIST". filename can be a full path name, or just a file
name by itself. If filename is just the name of the file,
InstaCalc will look for the file in the current directory.
@FILE is intended for use in application programs only to
test various characteristics of files your program uses.
"PATH" returns the full pathname of filename.
"DATE" returns a combined date and time number for the
date and time that filename was last written to.
"EXIST" returns TRUE (logical 1) if filename exists, and
FALSE (logical 0) if it doesn't.
---------------------------------------------------------------------
@FIND String
---------------------------------------------------------------------
Function Finds the occurrence of a string in a longer string.
Syntax @FIND(substring,string,n)
where substring and string are strings in quotations, or
cell addresses, and n is a number, cell address, or
calculated value.
Remarks substring is the part of a string to find, string is the
longer string in which to find the substring, and n
designates where in the string to begin looking. The search
is case-sensitive.
60
@FIND returns the position in string where substring is
found. That is, if substring begins at the 20th character
string, 20 will be returned. If no match is found, @FIND
returns a value of 0.
---------------------------------------------------------------------
@FNAME Macro
---------------------------------------------------------------------
Function Returns the name of the file currently in memory.
Syntax @FNAME
Remarks The @FNAME function returns the name of the file currently
being worked on.
---------------------------------------------------------------------
@FORMAT String
---------------------------------------------------------------------
Function Converts a number to a string using a selected format.
Syntax @FORMAT(x,form,dp)
where x, form, and dp are numbers, cell addresses, or
calculated values.
Remarks This function converts a number to a string using the format
form and dp decimal places. @FORMAT is especially useful in
applications where you want to print out values using a
specific format such as currency.
form FORMAT
0 Default
1 Fixed
2 Currency
3 Percent
4 Scientific
5 Hidden
6 Text
7 Fixed with commas
8 Currency with commas
9 Percent with commas
10 dd-mmm-yy
11 dd-mmm
12 mmm-yy
13 mm/dd/yy
14 Month DD, YYYY
15 HH:MM AM/PM
16 HH:MM Military
17 General
61
---------------------------------------------------------------------
@FRAC Mathematical
---------------------------------------------------------------------
Function Returns the fractional part of a number.
Syntax @FRAC(x)
where x is a number, a cell address, or a calculated value.
Remarks This function returns only the part of x which comes after
the decimal point. If x is negative, then the value
returned by @FRAC will be negative also.
---------------------------------------------------------------------
@FV Financial
---------------------------------------------------------------------
Function Returns the future value of an annuity.
Syntax @FV(pmt,int,term)
where pmt, int, term are numbers, cell addresses, or
calculated values.
Remarks This function calculates the future value of an annuity.
pmt is the amount of payment per period in the annuity, int
is the discount rate per period, and term is the total
number of payments to be made.
@FV assumes that payments are being made at the end of the
period. If payments are due at the beginning of the period,
simply multiply the answer by (1+int).
IMPORTANT: The interest rate must be a per period rate. For
example, if the term is 240, indicating (probably) monthly
payments over twenty years, the interest rate must also be a
monthly rate. Thus, a 12% yearly rate would be entered as
1%.
---------------------------------------------------------------------
@GLOBAL Data
---------------------------------------------------------------------
Function Returns information about the current Worksheet.
Syntax @GLOBAL(attribute)
Remarks This function returns global information about the current
worksheet. Attribute is one of the following strings which
tells what information to return: "prefix", "protect",
"width", "format","calc", "insert", or "enter". @GLOBAL is
intended for use in application programs to test various
characteristics of the current worksheet.
attribute @GLOBAL returns
62
"prefix" the global justification character
' if left justified
" if right justified
^ if centered
"protect" the Worksheet protection
0 = Disabled, 1 = Enabled
"width" the global column width
"format" the global format
0 Default
1 Fixed
2 Currency
3 Percent
4 Scientific
5 Hidden
6 Text
7 Fixed with commas
8 Currency with commas
9 Percent with commas
10 dd-mmm-yy
11 dd-mmm
12 mmm-yy
13 mm/dd/yy
14 Month DD, YYYY
15 HH:MM AM/PM
16 HH:MM Military
17 General
"calc" the recalculation mode
0 = Manual, 1 = Automatic
"insert" the status of insert mode
0 = Off, 1 = On
"enter" the status of <Ctrl><F9> Enter mode
0 = Off, 1 = On
---------------------------------------------------------------------
@HLOOKUP Data
---------------------------------------------------------------------
Function Looks up an item in a horizontal lookup table.
Syntax @HLOOKUP(x,range,row offset)
where range is a range of cells, named or otherwise; row
offset is a number, cell address, or calculated value; and x
is a number, text, cell address, or calculated value.
Remarks This function looks up and retrieves a value or text from a
horizontal lookup table. range is the range of cells which
makes up the lookup table.
If x is text, @HLOOKUP will compare x with each cell in the
63
top row of range, and if a match is found, will move row
offset rows from that cell, and will return the value in the
resulting cell. If x does not match any of the cells in the
top row of range, then @HLOOKUP will return the value ERROR.
If x is a value instead of text, @HLOOKUP will compare x
with each cell in the top row of range until it finds a cell
which is greater than or equal to x. This means that the
values in the top row of range must be in ascending order
for @HLOOKUP to work correctly. If the value in the cell is
equal to x, @HLOOKUP will consider it a match. If the cell
is greater than x, @HLOOKUP will move back to the previous
cell and consider it a match. For example, if the values in
the top row of range are 100, 200, 300, and 400, and the
value of x is 250, then @HLOOKUP will search until it
reaches 300, and will then move back and use the cell
containing 200 as the match. When a match is found,
@HLOOKUP will move row offset rows from that cell, and will
return the value in the resulting cell. If x is smaller
than the first cell in the top row, @HLOOKUP will return the
value ERROR.
---------------------------------------------------------------------
@HOUR Date/Time
---------------------------------------------------------------------
Function Returns the hour of a time number.
Syntax @HOUR(time number)
where time number is a number, cell address, or calculated
value.
Remarks This function returns the hour of time number. A result of
0 represents midnight, 1 represents 1:00 p.m., and 23
represents 11:00 p.m.
time number should be a value between 0 and 1. InstaCalc
will not ignore a mixed number; it will simply use the
fractional part.
The @HOUR function is most often used in conjunction with
other date and time functions to return only the hour
portion of a previously entered value.
---------------------------------------------------------------------
@IF Logical
---------------------------------------------------------------------
Function Returns one of two values depending on a condition.
Syntax @IF(condition,x,y)
where condition is a conditional statement, often in the
form of an equation, other times in the form of a "greater
than" or "less than" statement (or other inequality); and x
and y are values, functions, or strings.
64
Remarks This functions evaluates condition and returns x if it is
TRUE, and y if it is FALSE.
x and y may be both numeric, both text, or one of each.
---------------------------------------------------------------------
@INDEX Data
---------------------------------------------------------------------
Function Looks up data in a array.
Syntax @INDEX(range,col,row)
where range is a range of cells, named or otherwise; and col
and row are numbers, cell addresses, or calculated values.
Remarks This function looks up and returns data from an array.
range is the array, and col and row are the offsets into the
array. The top row of range has a row offset of 0 and the
left column of range has a column offset of 0.
---------------------------------------------------------------------
@INT Mathematical
---------------------------------------------------------------------
Function Returns the integer part of a number.
Syntax @INT(x)
where x is a number, a cell address, or a calculated value.
Remarks This function returns the integer part of a value, which is
the part of the argument which is to the left (in front of)
the decimal point. The sign of the value returned is the
same as that of the argument.
The @INT function does not round values for further
calculation. (To round numbers, use @ROUND.) It merely
truncates the numbers; only the integer part of the value is
used in further calculations. The sign of the value can be
either positive or negative.
---------------------------------------------------------------------
@IRR Financial
---------------------------------------------------------------------
Function Returns the internal rate of return of a series of cash
flows.
Syntax @IRR(estimate,range)
where estimate is a number, cell address, or calculated
value; and range is a range of cells, named or otherwise.
Remarks This function calculates the discount rate at which the
present value of an outlay (investment) equals the present
value of cash inflows stemming (presumably) from that
65
investment. Another way of saying this is that it is the
discount rate at which the net present value of outlays and
inflows is zero.
estimate should be a value between 0 and 1 that represents a
reasonable guess at the rate of return for the investment,
and range is a range of cells that contain the net cash
flows resulting from the investment. The first value in the
range must be negative, indicating an investment was made
which constituted an outflow of moneys.
It is assumed that the cash flows that appear in the range
are received at regular intervals. They need not be even,
but they should at least approximate regular flows.
The @IRR function further assumes that the income from the
investment is reinvested at the rate of return. If this not
the case (as with a capital investment in plant equipment),
@IRR will be overstated. The amount of overstatement
depends on the disparity between the assumed reinvestment
and the actual rate of reinvestment.
Finally, since @IRR is calculated by iteration, a really
poor estimate may cause the function to misstate the
discount rate.
---------------------------------------------------------------------
@ISERR Logical
---------------------------------------------------------------------
Function Tests whether an item is an error.
Syntax @ISERR(x)
where x is a cell reference or a formula.
Remarks This function is used to determine whether x is the value
ERROR. @ISERR is used to stop ERROR values from carrying
through to other parts of the worksheet.
---------------------------------------------------------------------
@ISNUM Logical
---------------------------------------------------------------------
Function Tests whether an item is a number.
Syntax @ISNUM(x)
where x is a cell address or a formula.
Remarks This function returns the value 1 (TRUE) if x is a numerical
value; otherwise it returns the value 0 (FALSE).
66
---------------------------------------------------------------------
@ISTEXT Logical
---------------------------------------------------------------------
Function Tests whether an item is text.
Syntax @ISTEXT(x)
where x is a cell address or a formula.
Remarks This function returns the value 1 (TRUE) if x is a textual
value; otherwise it returns the value 0 (FALSE).
---------------------------------------------------------------------
@LEFT String
---------------------------------------------------------------------
Function Returns the left part of a text string.
Syntax @LEFT(string,n)
where string is a string in quotations, or a cell address;
and n is a number, cell address, or calculated value.
Remarks This function returns the leftmost n characters from string.
---------------------------------------------------------------------
@LEN String
---------------------------------------------------------------------
Function Returns the length of a text string.
Syntax @LEN(string)
where string is a string in quotations, or a cell address.
Remarks This function returns the number of characters in string.
---------------------------------------------------------------------
@LN Mathematical
---------------------------------------------------------------------
Function Returns the natural logarithm of a number.
Syntax @LN(x)
where x is a number, a cell address, or a calculated value.
Remarks This function calculates the natural logarithm (base e) of
x. It is the inverse of the @EXP function. The value
cannot be negative or equal to zero, or an ERROR value will
be returned.
67
---------------------------------------------------------------------
@LOG Mathematical
---------------------------------------------------------------------
Function Returns the common logarithm of a number.
Syntax @LOG(x)
where x is a number, a cell address, or a calculated value.
Remarks The @LOG function returns the logarithm of x. It uses the
base 10, and is the reciprocal of exponentiation. The value
must be greater than zero; a negative or zero value returns
an ERROR value.
---------------------------------------------------------------------
@LOGB Mathematical
---------------------------------------------------------------------
Function Returns the logarithm (base b) of a number.
Syntax @LOGB(x,b)
where x and b are numbers, cell addresses, or calculated
values.
Remarks This function calculates the logarithm of x. It uses the
base b, and is the reciprocal of exponentiation. x must be
greater than zero, otherwise @LOGB will return the value
ERROR.
---------------------------------------------------------------------
@LOWER String
---------------------------------------------------------------------
Function Converts all the characters of a text string to lowercase.
Syntax @LOWER(string)
where string is a string in quotations, or a cell address.
Remarks The @LOWER function converts all of the characters in string
to lowercase letters.
---------------------------------------------------------------------
@MAX Statistical
---------------------------------------------------------------------
Function Returns the maximum value from a list of values.
Syntax @MAX(list)
where list is a list of values separated by commas, or a
range containing values, or some combination of the two.
Remarks This function returns the largest value in list.
68
---------------------------------------------------------------------
@MEMORY Macro
---------------------------------------------------------------------
Function Returns the amount of memory available.
Syntax @MEMORY
Remarks This function returns the number of bytes of memory
available.
---------------------------------------------------------------------
@MID String
---------------------------------------------------------------------
Function Returns the midsection of a text string.
Syntax @MID(string,start,n)
where string is a string in quotations, or a cell address;
and start and n are numbers, cell addresses, or calculated
values.
Remarks This function searches string, starting with the start
character, and extracts and returns n characters.
---------------------------------------------------------------------
@MIN Statistical
---------------------------------------------------------------------
Function Returns the minimum value from a list of values.
Syntax @MIN(list)
where list is a list of values separated by commas, or a
range containing values, or some combination of the two.
Remarks This function returns the smallest value in list.
---------------------------------------------------------------------
@MINUTE Date/Time
---------------------------------------------------------------------
Function Returns the minute of a time number.
Syntax @MINUTE(time number)
where time number is a number, cell address, or calculated
value.
Remarks This function returns the number of the minute (between 0
and 59) represented by time number.
time number should be a value between 0 and 1 (not
inclusive). InstaCalc will not ignore mixed numbers;
rather, it will extract only the fractional part.
@MINUTE is most often useful in conjunction with other date
and time functions. @MINUTE will extract only the minute
69
portion of a time value.
---------------------------------------------------------------------
@MOD Mathematical
---------------------------------------------------------------------
Function Returns the remainder after dividing two numbers.
Syntax @MOD(x,y)
where x and y are numbers, cell addresses, or calculated
values.
Remarks This function returns the remainder after dividing x by y.
---------------------------------------------------------------------
@MONTH Date/Time
---------------------------------------------------------------------
Function Returns the month of a date number.
Syntax @MONTH(date number)
where date number is a number, cell address, or calculated
value.
Remarks This function returns only the month portion (1..12) of date
number.
---------------------------------------------------------------------
@NMONTH Date/Time
---------------------------------------------------------------------
Function Returns the name of a month.
Syntax @NMONTH(x)
where x is a number, cell address, or calculated value.
Remarks The @NMONTH function returns the name of month x.
@NMONTH is often used in conjunction with the @MONTH
function to return the month name of a date number.
---------------------------------------------------------------------
@NOW Date/Time
---------------------------------------------------------------------
Function Returns the current date and time numbers.
Syntax @NOW
Remarks This function reads the system clock and returns a combined
date and time number for the current date and time. The
integer part of the result will be the date number for the
70
current date, and the fractional part of the result will be
the time number for the current time.
---------------------------------------------------------------------
@NPV Financial
---------------------------------------------------------------------
Function Returns the net present value of a series of future cash
flows.
Syntax @NPV(int,range)
where int is a number, a cell address, or a calculated
value, and range is a range of cells, named or otherwise.
Remarks This function calculates the net present value of a series
of future cash flows in range, given the discount rate int.
Each of the future cash flows are brought back to the
present; that is, each flow receives its equivalent present
value.
The period of the discount must agree with the period of the
cash flows. That is, if the cash flows are yearly flows,
then the discount rate must be a yearly rate; if the cash
flows are monthly, then the discount rate must be monthly.
Generally, yearly cash flows will be accurate enough. Even
if the flows actually come on a monthly basis, summing up
those flows into a single yearly flow will only change the
answer by a small percentage.
@NPV assumes that the period between cash flows is constant.
@NPV assumes end-of-period-payments. For beginning-of-
period-payments, multiply the answer by (1+int).
---------------------------------------------------------------------
@PI Trigonometry
---------------------------------------------------------------------
Function Returns the value of pi (3.14159...).
Syntax @PI
---------------------------------------------------------------------
@PMT Financial
---------------------------------------------------------------------
Function Returns the payment required to amortize a loan amount.
Syntax @PMT(prin,int,term)
where prin, int, and term are numbers, cell addresses, or
calculated values.
Remarks This function calculates the periodic payment required to
amortize a loan amount, given the amount of principal, the
71
periodic interest rate, and the number of payments.
prin is the total amount of principal, int is the periodic
interest rate, and term is the number of payments in the
loan.
The @PMT function assumes a fixed rate of interest. It also
requires (like all of the financial functions) that the
interest and term in the argument are expressed in like
intervals; that is, a monthly term requires a monthly
interest rate.
---------------------------------------------------------------------
@POINTER Data
---------------------------------------------------------------------
Function Returns information about the current cell.
Syntax @POINTER(attribute)
where attribute is a string in quotations or a cell
reference.
Remarks This function returns various types of information about the
cell which the cell pointer is currently in. This function
is intended for use in application programs which need
information about the current cell. attribute determines
what information is returned, and must be one of the
following strings; "address", "col", "contents", "format",
"prefix", "protect", "row", or "type".
Example attribute @POINTER returns
"address" the name of the current cell (for example B5)
"col" the column number of the current cell (1 thru
256)
"contents" the contents of the current cell
"format" the formatting of the current cell
0 Default
1 Fixed
2 Currency
3 Percent
4 Scientific
5 Hidden
6 Text
7 Fixed with commas
8 Currency with commas
9 Percent with commas
10 dd-mmm-yy
11 dd-mmm
12 mmm-yy
13 mm/dd/yy
14 Month DD, YYYY
15 HH:MM AM/PM
16 HH:MM Military
17 General
72
"prefix" the justification character of the current
cell
' if left justified
" if right justified
^ if centered
blank if the cell doesn't contain text
"protect" the protection status of the current cell
0 = Not protected, 1 = Protected
"row" the row number of the current cell (1 through
4096)
"type" the type of data in the current cell
BLANK, FORMAT, NUMBER, TEXT, FORMULA,
TXTFORM, ERROR
---------------------------------------------------------------------
@PROPER String
---------------------------------------------------------------------
Function Capitalizes the first letter of each word in a text string.
Syntax @PROPER(string)
where string is a string in quotations, or a cell address.
Remarks This function converts the first letter of words in string
to uppercase.
@PROPER will only recognize words that are separated by
spaces, or other non alpha characters.
---------------------------------------------------------------------
@PV Financial
---------------------------------------------------------------------
Function Returns the present value of an annuity.
Syntax @PV(pmt,int,term)
where pmt, int, and term are numbers, cell addresses, or
calculated values.
Remarks This function calculates the present value of an annuity,
given the periodic payment, the periodic interest rate, and
the number of periods.
pmt is the payment per period, int is the interest rate per
period, and term is the total number of payments.
The @PV function does precisely the same thing as the @NPV
function, except that all payments are equal. Thus, it is
only necessary to enter the amount once, rather than as a
series of values.
73
The interest rate and term must agree; monthly payments must
be accompanied by a monthly term.
@PV assumes end-of-period-payments. For beginning-of-
period-payments, multiply the answer by (1+int).
---------------------------------------------------------------------
@QUARTER Date/Time
---------------------------------------------------------------------
Function The Quarter Function
Syntax @QUARTER(date number)
where date number is a number, cell address, or calculated
value.
Remarks This function returns the number of the quarter of the year
(1 to 4) of date number. The quarters are: Quarter 1,
January 1 to March 31; Quarter 2, April 1 to June 30;
Quarter 3, July 1 to September 30; and Quarter 4, October 1
to December 31.
---------------------------------------------------------------------
@RADIANS Trigonometry
---------------------------------------------------------------------
Function Converts degrees to radians.
Syntax @RADIANS(x)
where x is a number, a cell address, or a calculated value.
Remarks This function converts the angle x from degrees to radians.
Since InstaCalc's trigonometry functions require angles to
be expressed in radians, the @RADIANS function is useful for
making this conversion.
---------------------------------------------------------------------
@RAND Mathematical
---------------------------------------------------------------------
Function Returns a uniformly distributed random number.
Syntax @RAND
Remarks This function generates a random number which is greater
than or equal to zero and is less than one. The value of
@RAND will change to a new random value each time the cell
(not the Worksheet) is recalculated.
74
---------------------------------------------------------------------
@RATE Financial
---------------------------------------------------------------------
Function Returns the interest rate at which a present value will grow
to a future value.
Syntax @RATE(pv,fv,term)
where pv, fv, and term are numbers, cell addresses, or
calculated values.
Remarks This function returns the interest rate at which a present
value will grow into a future value during a number of
periods. pv is the present value amount of an investment,
fv is the future value amount of the investment, and term is
the number of periods.
The periods are assumed to be regular intervals. Converting
the compound growth rate on a yearly basis, given that the
term is expressed in months, simply requires that the answer
be multiplied by 12.
---------------------------------------------------------------------
@REPEAT String
---------------------------------------------------------------------
Function Repeats text a given number of times.
Syntax @REPEAT(string,n)
where string is a string in quotations or a cell address;
and n is a number, cell address, or calculated value.
Remarks This function returns string repeated n times.
---------------------------------------------------------------------
@REPLACE String
---------------------------------------------------------------------
Function Replaces a substring in a string with a new string.
Syntax @REPLACE(string,start,n,new string)
where string and new string are strings in quotations or
cell addresses; and start and n are numbers, cell addresses,
or calculated values.
Remarks This function removes n characters from string at position
start, and inserts new string at the same position.
---------------------------------------------------------------------
@RIGHT String
---------------------------------------------------------------------
Function Returns the right part of a text string.
Syntax @RIGHT(string,n)
where string is a string in quotations or a cell address,
and n is a number, cell address, or calculated value.
75
Remarks This function extracts and returns n characters from the end
of string. If n is greater than the number of characters in
string, then the entire string is returned.
---------------------------------------------------------------------
@ROUND Mathematical
---------------------------------------------------------------------
Function Rounds a value to a given number of decimal places.
Syntax @ROUND(x,n)
where x and n are numbers, cell addresses, or calculated
values.
Remarks This function returns the value of x rounded to n places.
n can be either positive or negative; when n is negative,
the program rounds n digits to the left of the decimal
point. When n is positive, the program rounds n digits to
the right of the decimal.
---------------------------------------------------------------------
@ROWS Data
---------------------------------------------------------------------
Function Returns the number of rows in a range.
Syntax @ROWS(range)
Remarks This function returns the number of rows in range. @ROWS is
particularly useful when used with named ranges.
---------------------------------------------------------------------
@SAMPSTD Statistical
---------------------------------------------------------------------
Function Returns the standard deviation of a list of sample values.
Syntax @SAMPSTD(list)
where list is a list of values separated by commas, or a
range containing values, or some combination of the two.
Remarks This function calculates the standard deviation of the
values in list.
---------------------------------------------------------------------
@SAMPVAR Statistical
---------------------------------------------------------------------
Function Returns the variance of a list of sample values.
Syntax @SAMPVAR(list)
76
where list is a list of values separated by commas, or a
range containing values, or some combination of the two.
Remarks This function returns the variance of the values contained
in list.
---------------------------------------------------------------------
@SECOND Date/Time
---------------------------------------------------------------------
Function Returns the second of a time number.
Syntax @SECOND(time number)
where time number is a number, a cell address, or a
calculated value.
Remarks This function returns the value in seconds (between 0 and
59) of time number.
time number should be a value between 0 and 1. InstaCalc
will not ignore mixed numbers; rather, it will extract only
the fractional part. The argument may be either a value, a
cell reference to a value, or a cell reference to a formula
which calculates a value.
---------------------------------------------------------------------
@SIGN Mathematical
---------------------------------------------------------------------
Function Returns the sign of a number.
Syntax @SIGN(x)
where x is a number, a cell address, or a calculated value.
Remarks This function returns the sign of its x. If x is negative,
the function returns -1. If x positive, the function
returns 1. If x is 0, the function returns 0.
---------------------------------------------------------------------
@SIN Trigonometry
---------------------------------------------------------------------
Function Returns the sine of an angle.
Syntax @SIN(x)
where x is a number, a cell address, or a calculated value.
Remarks This function returns the sine of the angle x. x must be in
radians. If x is in degrees, then the @RADIANS function
must be used to convert x to radians. The value returned by
the @SIN function will always lie between -1 and 1.
77
---------------------------------------------------------------------
@SINH Trigonometry
---------------------------------------------------------------------
Function Returns the hyperbolic sine of an angle.
Syntax @SINH(x)
where x is a number, a cell address, or a calculated value.
Remarks This function returns the hyperbolic sine of the angle x. x
must be in radians. If x is in degrees, then the @RADIANS
function must be used to convert x to radians.
---------------------------------------------------------------------
@SLN Financial
---------------------------------------------------------------------
Function Returns the amount of depreciation of an asset using the
straight line method.
Syntax @SLN(cost,salvage,life)
where cost, salvage, and life are numbers, cell addresses,
or calculated values.
Remarks This function calculates and returns the amount of
depreciation of an asset using the Straight-Line method of
accelerated depreciation. cost is the cost of the asset,
salvage is the salvage value of the asset after it is
totally depreciated, and life is the useful life of the
asset.
---------------------------------------------------------------------
@SQRT Mathematical
---------------------------------------------------------------------
Function Returns the square root of a value.
Syntax @SQRT(x)
where x is a number, a cell address, or a calculated value.
Remarks This function returns the square root of x. x must be
positive, since any two negative numbers multiply to a
positive number.
---------------------------------------------------------------------
@STD Statistical
---------------------------------------------------------------------
Function Returns the standard deviation of a list of values.
Syntax @STD(list)
where list is a list of values separated by commas, or a
range containing values, or some combination of the two.
Remarks This function calculates the standard deviation of the
78
values in list.
---------------------------------------------------------------------
@STRING String
---------------------------------------------------------------------
Function Converts a value to a string.
Syntax @STRING(x,n)
where x and n are values, cell addresses, or calculated
values.
Remarks This function converts x to a string with n decimal places.
---------------------------------------------------------------------
@SUM Statistical
---------------------------------------------------------------------
Function Returns the sum of a list of values.
Syntax @SUM(list)
where list is a list of values separated by commas, or a
range containing values, or some combination of the two.
Remarks This function adds up all of the values contained in list.
Example =@sum(A1..B20)
---------------------------------------------------------------------
@SYD Financial
---------------------------------------------------------------------
Function Returns the amount of depreciation of an asset using the Sum
of the Years' Digits method.
Syntax @SYD(cost,salvage,life,period)
where cost, salvage, life, and period are numbers, cell
addresses, or calculated values.
Remarks This function calculates the amount of depreciation of an
asset using the Sum-of-the-Years'-Digits method of
accelerated depreciation.
cost is the cost of the asset, salvage is the salvage value
of the asset after it is totally depreciated, life is the
useful life of the asset, and period is the period within
that life in which the depreciation is being calculated.
79
---------------------------------------------------------------------
@TAN Trigonometry
---------------------------------------------------------------------
Function Returns the tangent of an angle.
Syntax @TAN(x)
where x is a number, a cell address, or a calculated value.
Remarks This function returns the tangent of the angle x. x must be
expressed in radians. If x is in degrees, then the @RADIANS
function must be used to convert x to radians.
---------------------------------------------------------------------
@TANH Trigonometry
---------------------------------------------------------------------
Function Returns the hyperbolic tangent of an angle.
Syntax @TANH(x)
where x is a number, a cell address, or a calculated value.
Remarks This function returns the hyperbolic tangent of the angle x.
x must be expressed in radians. If x is in degrees, then
the @RADIANS function must be used to convert x to radians.
---------------------------------------------------------------------
@TERM Financial
---------------------------------------------------------------------
Function Returns the number of periods for an investment to reach a
future value.
Syntax @TERM(pmt,int,fv)
where pmt, int, and fv are numbers, cell addresses, or
calculated values.
Remarks This function returns the number of terms needed to reach a
specified future value, given an interest rate (rate of
return) and the value of equal payment to be made each
period.
pmt is the amount of the equal periodic payments, int is the
interest rate or expected rate of return, and fv is the
future value to be reached.
---------------------------------------------------------------------
@TIME Date/Time
---------------------------------------------------------------------
Function Returns a time number for a time.
Syntax @TIME(hour,min,sec)
where hour, min, and sec are numbers, cell addresses, or
80
calculated values.
Remarks This function returns a time number between 0 and 1, from
hour, min, and sec.
hour is the hour of the day (between 0 and 23), min is the
minute of the hour (between 0 and 59), and sec is the
seconds of the minute (between 0 and 59).
It is usually necessary to format the cell containing @TIME
using the /Cell Format Date command.
---------------------------------------------------------------------
@TODAY Date/Time
---------------------------------------------------------------------
Function Returns the date number of the current date.
Syntax @TODAY
Remarks This function reads the system clock and returns the date
number for the current date.
---------------------------------------------------------------------
@TRIM String
---------------------------------------------------------------------
Function Trims all extra spaces out of a text string.
Syntax @TRIM(string)
where string is a string in quotations, or a cell address.
Remarks This function strips all extra spaces from string. The
result contains only single spaces between words.
---------------------------------------------------------------------
@TRUE Logical
---------------------------------------------------------------------
Function Returns the value TRUE (1).
Syntax @TRUE
---------------------------------------------------------------------
@UPPER String
---------------------------------------------------------------------
Function Converts all the characters of a text string to uppercase.
Syntax @UPPER(string)
where string is a string in quotations, or a cell address.
81
---------------------------------------------------------------------
@VALUE String
---------------------------------------------------------------------
Function Returns the value that a text string looks like.
Syntax @VALUE(string)
where string is a string in quotations or a cell address.
Remarks This function converts string into a value that can be used
in formulas, equations, and other calculations.
---------------------------------------------------------------------
@VAR Statistical
---------------------------------------------------------------------
Function Returns the variance of a list of values.
Syntax @VAR(list)
where list is a list of values separated by commas, or a
range containing values, or some combination of the two.
Remarks This function returns the variance of the values contained
in list.
---------------------------------------------------------------------
@VLOOKUP Data
---------------------------------------------------------------------
Function Looks up an item in a vertical lookup table.
Syntax @VLOOKUP(x,range,col offset)
where range is a range of cells, named or otherwise; and col
offset is a number, cell address, or calculated value; and x
is a number, text, cell address, or calculated value.
Remarks This function looks up and retrieves a value or text from a
vertical lookup table. range is the range of cells which
makes up the lookup table.
If x is text, @VLOOKUP will compare x with each cell in the
left column of range, and if a match is found, will move col
offset columns from that cell, and will return the value in
the resulting cell. If x does not match any of the cells in
the left column of range, then @VLOOKUP will return the
value ERROR.
If x is a value instead of text, @VLOOKUP will compare x
with each cell in the left column of range until it finds a
cell which is greater than or equal to x. This means that
the values in the left column of range must be in ascending
order for @VLOOKUP to work correctly. If the value in the
cell is equal to x, @VLOOKUP will consider it a match. If
the cell is greater than x, @VLOOKUP will move up to the
82
previous cell and consider it a match. For example, if the
values in the left column of range are 100, 200, 300, and
400, and the value of x is 250, then @VLOOKUP will search
until it reaches 300, and will then move back and use the
cell containing 200 as the match. When a match is found,
@VLOOKUP will move col offset columns from that cell, and
will return the value in the resulting cell. If x is
smaller than the first cell in the left column, @VLOOKUP
will return the value ERROR.
---------------------------------------------------------------------
@WEEKDAY Date/Time
---------------------------------------------------------------------
Function Returns the day of the week for a date number.
Syntax @WEEKDAY(date number)
where date number is a number, a cell address, or a
calculated value.
Remarks This function returns the day of the week (numbered 1
through 7, with 1 being Sunday and 7 being Saturday) for
date number.
---------------------------------------------------------------------
@YEAR Date/Time
---------------------------------------------------------------------
Function Returns the year of a date number.
Syntax @YEAR(date number)
where date number is a number, a cell address, or a
calculated value.
Remarks This function returns the year of date number. For years in
the 1900's, the final 2 digits are returned. For the year
2000 @YEAR will return the value 100.
---------------------------------------------------------------------
@@ Data
---------------------------------------------------------------------
Function Returns data from a cell through an indirect reference.
Syntax @@(cellname)
where cellname is a string in quotations or a cell address
Remarks This function will return the contents of the cell named
cellname.
83
INSTACALC APPLICATIONS
----------------------
InstaCalc provides a programming environment which you can use to
create any application, from a simple time-saving keystroke repeating
routine to a fully customized business application.
An InstaCalc application simply consists of a text file containing the
commands which you would like InstaCalc to execute. You may give your
program files any valid DOS name, but the extension must be .MAC (for
example MYPROG.MAC). Your program can consist of keystroke macros,
InstaCalc Command Environment (ICE) commands, or both.
Macros
------
A keystroke macro is simply a sequence of keystrokes following the
apostrophe character '. When InstaCalc encounters one of these
keystroke sequences in your program, it simply treats the keystrokes
as if you typed them in yourself. For example, if you place the line:
'/wic<Enter>
into your application program, then InstaCalc will automatically
insert two columns when it executes this line. It does this by first
typing the / character (which will bring up the menu), then W (for
WorkSheet), then I (for insert), then C (for column), and finally the
<Enter> key (to complete the command).
Commands
--------
The InstaCalc Command Environment (ICE) is a set of instructions which
provides flexible I/O capabilities, numerous control structures,
printer and DOS access, and more. In fact, you may find that the ICE
commands are so versatile that many of your application programs will
need few if any keystroke macros.
CREATING AN APPLICATION
-----------------------
The easiest way to create a keystroke macro is with InstaCalc's Macro
Recorder. To begin recording a macro, you simply press the
<Ctrl><F10> key. You then press the key you want to assign the macro
to, and begin typing the keys to record. When you are ready to stop
recording, just press the <Ctrl><F10> key again. Your macro will be
stored in a file whose name corresponds to the key you assigned the
macro to. For example, a macro assigned to <Ctrl>T would be named
CTRLT.MAC.
Later, when you press <Ctrl>T, InstaCalc will look for the application
file CTRLT.MAC, and run it if it exists. If it doesn't exist, then an
error message will pop up. Applications or keystroke macros can be
assigned to just about any key which isn't already defined and used by
InstaCalc. For example, you can't redefine the arrow keys to do
something else, but you can assign other keys to do the same thing as
the arrow keys.
84
Applications may also be created with a text editor, just as you would
write a program in any programming language. InstaCalc applications
are not limited to simple keystroke macros. InstaCalc supplies a rich
programming language which provides flexible I/O capabilities,
numerous control structures (If/Then/Else, For/Next, Repeat/Until,
While/Endwhile, etc), access to DOS commands and external programs,
and more.
These applications can be written using either the simple editor which
InstaCalc provides (/Macro Edit), or outside of InstaCalc with your
own text editor. You may give your application any valid DOS name
(the extension must be .MAC), including one of the keystroke names
(such as ALTX.MAC). This allows you to run extremely powerful
applications at the press of a key.
There are a number of advantages to having applications reside in a
file rather than in the worksheet itself.
- The application can load and save data files without being written
over by the incoming worksheet.
- You can create large libraries of applications and macros which can
be used in any worksheet without having to load the entire library
into memory each time.
- Large applications can be broken into smaller parts, and only the
part which is running needs to be in memory. This means you can
create and run applications which would normally require more memory
than is available.
RUNNING AN APPLICATION
----------------------
Once you have created your application program, you will probably want
to run it. There are many ways to run an InstaCalc application
program which you have created.
/Macro Run: You can run an application program from the menus using
the /Macro Run command. You will be asked for the name of the
application program to run. If you press <Enter> without entering a
name, the InstaCalc file manager will pop up from which you may select
the application from.
Keystroke: If you have named your application with one of the
keystroke names, you can run the application by pressing the key. For
example, if the application file is named CTRLX.MAC then pressing
<Ctrl>X will run the application.
Worksheet: You can also give your application the same name as one of
your worksheets (except that the extension will be .MAC instead of
.INS). When a new data file (.INS) is retrieved, InstaCalc will check
for a corresponding application to run. For example, when you
retrieve INVOICE.INS, then InstaCalc will look for and run the
application INVOICE.MAC (if it exists).
If an error is encountered when running an application, then an error
85
message will first be displayed. Then, when you press a key to
continue, InstaCalc will load the application into the editor, and
place you on the line where the error occurred to allow you to fix the
problem.
LANGUAGE DESCRIPTION
--------------------
An InstaCalc program is one or more lines of text residing in an ASCII
file. There are four different types of lines which you can put in
your application; comments, labels, macros, and commands. The first
character of each line of text determines what type of command that
line is. Each line of your application program will begin with one of
four different characters, a pound sign (#), an apostrophe ('), a
colon (:), or an exclamation mark (!).
Comments
--------
A line which begins with an exclamation mark (!) is simply a comment.
All of the characters on the line after the ! are ignored when
InstaCalc runs the application program. The sole purpose of comments
is to make your programs easier to understand when you read them.
Example:
!This is a comment
This line is ignored when InstaCalc encounters it in an application
program.
Labels
------
A line which begins with a colon (:) is a label. A label is simply a
string which marks a specific position in the application program.
Example:
:MyLabel
This line does nothing when it is encountered in an InstaCalc
application program. Some InstaCalc ICE commands (such as #GOTO) use
labels as a place to jump to for further processing.
Macros
------
A line which begins with an apostrophe (') is a sequence of direct
keystrokes (keystroke macro) which you want InstaCalc to execute.
Keystrokes which are printable ASCII characters (letters, numbers,
symbols, etc.) are displayed in their printable form. Keystrokes
which are NOT printable ASCII characters (such as function keys, Ctrl
and Alt key sequences, cursor movement keys, etc.) are displayed as
the name of the key enclosed in angle brackets <>. For example, the
<Enter> key is displayed as <Enter>.
86
Example:
'/cfcn2<Enter>
This line causes the current cell to be formatted as currency with 2
decimal places and no commas. This is done because InstaCalc
processes each keystroke in the line just as if you typed it in
yourself.
- The / key is processed, which summons the main menu
- The C key is processed, which selects the "Cell" option
- The F key is processed, which selects the "Format" option
- The C key is processed, which selects the "Currency" option
- The N key is processed, which selects the "NoComma" option
- The number "2" is processed, which types 2 in as the number of
decimal places
- The <Enter> causes the <Enter> key to be processed (this is one of
the special keys), which enters the number 2 as the number of decimal
places.
Keystroke macros can even be read from cells. Simply follow the
apostrophe with the cell name enclosed in square brackets. For
example, if you want the keystrokes to be read from cell B5, simply
use the line:
'[B5]
Commands
--------
A line which begins with a pound sign (#) is an InstaCalc Command
Environment (ICE) command. It is these commands which provide the
muscle for sophisticated application development. These commands are
described in the next section.
87
SPECIAL KEY NAMES
-----------------
Although the letter, number, and symbol keys can be directly
referenced by their character, several keys cannot be referred to
using a single character. InstaCalc gives each of these keys its own
name. When one of these keystrokes is encountered in a keystroke
macro, the name of the key is surrounded by angle brackets <> so that
InstaCalc can tell it apart from regular characters. When the
keystroke is used as the name of an application file, then the angle
brackets (and certain other characters) are not used because DOS will
not allow them. Below is a list of special keystrokes, and the name
of the keystrokes when used both in a macro and as a file name.
KEY SEQUENCE KEYSTROKE NAME FILE NAME
<BkSp> <BkSp> N/A
<Ctrl><BkSp> <^BkSp> N/A
<Esc> <Esc> N/A
<Enter> <Enter> N/A
<Tab> <Tab> N/A
<Ctrl>A-
<Ctrl>Z * <CtrlA> - <CtrlZ> CTRLA.MAC-CTRLZ.MAC
<Alt>A-
<Alt>Z <AltA> - <AltZ> ALTA.MAC-ALTZ.MAC
<Home> <Home> N/A
<End> <End> N/A
<Left> <Left> N/A
<Right> <Right> N/A
<Up> <Up> N/A
<Down> <Down> N/A
<PgUp> <PgUp> N/A
<PgDn> <PgDn> N/A
<Ins> <Ins> N/A
<Del> <Del> N/A
<F1> - <F10> <F1>-<F10> N/A
<Shift><F1>-
<Shift><F10> <ShF1>-<ShF10> SHF1.MAC-SHF10.MAC
<Ctrl><F1>-
<Ctrl><F10> <^F1>-<^F10> N/A
<Alt><F1>-
<Alt><F10> <AltF1>-<AltF10> ALTF1-ALTF10.MAC
<Ctrl><Left> <^Left> N/A
<Ctrl><Right> <^Right> N/A
<Ctrl><Home> <^Home> N/A
<Ctrl><End> <^End> N/A
<Ctrl><PgUp> <^PgUp> N/A
<Ctrl><PgDn> <^PgDn> N/A
* <Ctrl>H, <Ctrl>I, and <Ctrl>M are not available as file names.
88
THE INSTACALC COMMAND ENVIRONMENT
---------------------------------
The InstaCalc Command Environment (ICE) is a set of powerful commands
which you can use in your application programs to create menus, pop up
windows, access files, and even run other programs.
Each ICE command is a single word prefixed with the # character (for
example #OUTPUT). Most of these ICE commands require additional
information on the same line. These additional pieces of information
are known as arguments. If you have more than one argument on a line,
you must separate them from each other with either a space or a comma.
Also, if any of your arguments are text strings which have a space or
comma in it, then you must surround the text string with quotes so
that InstaCalc knows to keep the text together.
---------------------------------------------------------------------
#ASSIGN Data
---------------------------------------------------------------------
Syntax #ASSIGN cellname value
Remarks This command allows you to assign a value to a cell without
having to move to it first. cellname can be either a cell
address or a named range. value can be either a number or
text.
Example #ASSIGN B5 123.45
---------------------------------------------------------------------
#BLOCK Input/Output
---------------------------------------------------------------------
Syntax #BLOCK cellname prompt
Remarks This command displays prompt and allows you to highlight a
range of cells. The range selected is stored as a text
string in cellname. This cell can then be used as an
indirect address in range functions by entering cellname in
square brackets when asked to define a range.
Example #BLOCK D3 "Fill which range with zeros?"
---------------------------------------------------------------------
#BOX Input/Output
---------------------------------------------------------------------
Syntax #BOX x1,y1,x2,y2 save title
Remarks This command displays a box on the screen. The upper left
corner of the box is located at screen position x1, y1, and
the lower right corner of the box is located at position x2,
y2. save determines whether InstaCalc saves the contents of
the screen under the box before displaying it. If save=0,
then the screen contents are not saved. If save=1, then the
screen contents are saved, and can be restored using the
#CLEARBOX command. Saving the screen contents requires
extra memory, so if it isn't necessary to restore the
89
contents, it is best to set save to 0. The #RESTORE command
will restore the InstaCalc screen even if it wasn't saved,
so you can use #BOX with save=0 to clear the screen to begin
your application.
Example #BOX 1,1,80,25 0 "Main Screen"
---------------------------------------------------------------------
#BREAK Control
---------------------------------------------------------------------
Syntax #BREAK 0/1
Remarks This command allows you to enable or disable the ability to
break out of an application program while it is running by
pressing <Ctrl><F3>. By default, an application will exit
when <Ctrl><F3> is pressed. This command provides the
capability to prevent a user from breaking out of your
application. It is best to leave breaking enabled when
creating your application.
---------------------------------------------------------------------
#CALL Control
---------------------------------------------------------------------
Syntax #CALL label / #RETURN
Remarks This command causes execution of the program to continue at
label. When the #RETURN statement is encountered, the
program branches back to the line immediately following the
original #CALL command.
---------------------------------------------------------------------
#CLEARBOX Input/Output
---------------------------------------------------------------------
Syntax #CLEARBOX
Remarks This command clears the last box placed on the screen (by
#BOX or #WINDOW) and replaces the data which was under it.
This command only has an effect if #BOX or #WINDOW set the
save option to 1 (meaning to save the screen contents).
---------------------------------------------------------------------
#DEC Data
---------------------------------------------------------------------
Syntax #DEC cellname x
Remarks This command decrements (reduces) the value in cellname by
x. If you don't supply x, then a value of 1 is assumed.
90
---------------------------------------------------------------------
#DELAY Input/Output
---------------------------------------------------------------------
Syntax #DELAY milliseconds
Remarks This command allows you to insert delays into your
application programs.
Example #DELAY 1000
---------------------------------------------------------------------
#DELETE File
---------------------------------------------------------------------
Syntax #DELETE filename
Remarks This command will delete filename from the disk (if it
exists).
---------------------------------------------------------------------
#DOS External
---------------------------------------------------------------------
Syntax #DOS command
Remarks This command allows you to perform a DOS command or run a
program just as if you had typed the command at the DOS
prompt. There must be enough memory available to run the
program or the command will be ignored.
Example #DOS "dir *.INS"
---------------------------------------------------------------------
#EDIT Input/Output
---------------------------------------------------------------------
Syntax #EDIT x,y cellname len prompt
Remarks This command displays prompt at position x,y on the screen,
followed by the contents of cellname. You are then allowed
to edit the contents of cellname. len is the maximum number
of characters which is displayed and which you are allowed
to enter or edit.
Example #EDIT 40,4 a1 6 "Invoice #"
---------------------------------------------------------------------
#EDITERR Debugging
---------------------------------------------------------------------
Syntax #EDITERR 0/1
Remarks When InstaCalc encounters an error in an application, it
displays an error message, then calls up the macro in the
macro editor. The cursor is placed on the line where the
error occurred so that you can fix the problem.
91
There may be times when you do not want InstaCalc to call up
the application for editing. #EDITERR allows you to disable
this feature.
Example #EDITERR 0
---------------------------------------------------------------------
#EXIT Control
---------------------------------------------------------------------
Syntax #EXIT
Remarks This command terminates the current application program. If
the current program was called by another program using the
#RUN command, then control is returned to the calling
program.
---------------------------------------------------------------------
#FOR / #NEXT Control
---------------------------------------------------------------------
Syntax #FOR cellname start end step
{some commands}
#NEXT
Remarks This command creates a loop which can perform a set of
commands a certain number of times. The value of start is
placed in cellname. and as long as the value of cellname
does not exceed the value of end, the set of commands
between the #FOR and #NEXT command will be executed. Each
time the #NEXT command branches back to the #FOR command,
the value in cellname will be incremented by step and
compared with end.
---------------------------------------------------------------------
#GOTO Control
---------------------------------------------------------------------
Syntax #GOTO label
Remarks This command causes the program to continue execution at the
given label. The label may be either before or after the
#GOTO, but it must be in the same program file.
Example #GOTO MyLabel
#OUTPUT 10,10 "Don't print this"
:MyLabel
#OUTPUT 10,10 "Print this instead"
92
---------------------------------------------------------------------
#IF / #ELSE / #ENDIF Control
---------------------------------------------------------------------
Syntax #IF boolean formula
{some commands}
#ELSE
{some commands}
#ENDIF
Remarks This command evaluates boolean formula, and if it is true,
continues executing commands until #ELSE or #ENDIF is
reached. All commands between the #ELSE and #ENDIF will be
ignored.
If boolean formula is false, then the program branches from
the #IF to the #ELSE command (if there is one) and executes
the commands between #ELSE and #ENDIF.
---------------------------------------------------------------------
#INC Data
---------------------------------------------------------------------
Syntax #INC cellname x
Remarks This command increments (increases) the value of cellname by
x. If you do not specify x, then a value of 1 is assumed.
---------------------------------------------------------------------
#INPUT Input/Output
---------------------------------------------------------------------
Syntax #INPUT x,y cellname len prompt
Remarks This command displays prompt at position x,y on the screen.
You are then allowed to enter some text which will be
entered into cellname. len is the maximum number of
characters which you are allowed to enter.
Example #INPUT 40,4 a1 6 "Enter the sales for May "
---------------------------------------------------------------------
#KEY Input/Output
---------------------------------------------------------------------
Syntax #KEY x,y cellname prompt maskchars
Remarks This command displays prompt at position x,y, and waits for
you to press a key. The #KEY command will automatically
place the keystroke pressed into cellname. The returned
keystroke will be a letter, number, or symbol if it is
regular ASCII. If it is a special key like a control or
alternate sequence, cursor key, or function key, it will be
in angle brackets like this: <Enter>, <PgUp>, <F1> or <^S>.
93
maskchars is an optional argument which allows you to force
#KEY to accept only certain characters. If you leave
maskchars blank, then #KEY will accept any key pressed. If
maskchars is a character (or list of characters), then #KEY
will only accept those characters (upper and lower case
letters are treated as the same character).
Example #KEY 10,10 a1 "Continue?:" y n
---------------------------------------------------------------------
#LOCATE Data
---------------------------------------------------------------------
Syntax #LOCATE column row
Remarks This command allows you to move the cell pointer by several
rows and columns at a time. column is the number of columns
you want to move to the right, and row is the number of rows
you want to move down. You may set row or column to a
negative value to move in the opposite direction, or to 0 if
you don't want to move either direction.
---------------------------------------------------------------------
#MENU Input/Output
---------------------------------------------------------------------
Syntax #MENU x,y cellname helpline title
#HMENU x,y cellname helpline title
Remarks These commands (along with the #MENUITEM command) allow you
to create and display customized menus from your application
programs (#MENU generates a vertical menu, #HMENU generates
a horizontal menu). The menu will be placed on the screen
at position x,y, and title will be placed at the top of the
menu. Each item to be displayed in the menu are defined by
#MENUITEM commands following the #MENU command. The help
line for each item will be placed on the screen on line
number helpline. When the user selects an item from the
menu, InstaCalc will enter the item number into cellname.
For example, if the user selects the 3rd item from the menu,
InstaCalc will enter the value 3 into cellname. If the user
escapes from the menu by pressing the <Esc> key, InstaCalc
will enter the value 0 into cellname.
Example #MENU 20,10 A1 1 "My Menu"
#MENUITEM "Add" "Add a record"
#MENUITEM "Delete" "Delete a record"
#MENUITEM "Quit" "Exit from menu"
---------------------------------------------------------------------
#MENUITEM Input/Output
---------------------------------------------------------------------
Syntax #MENUITEM item help
94
Remarks This command defines one of the items in a menu. item and
help are both text strings enclosed in quotes. item and
help can also be cell references or text formulas enclosed
in square brackets to allow you to build menu selection
items on the fly.
---------------------------------------------------------------------
#OUTPUT Input/Output
---------------------------------------------------------------------
Syntax #OUTPUT x,y line
Remarks This command allows your application program to write text
to the screen. #OUTPUT will display line at column x and
row y on the screen. x must be in the range 1 to 80, and y
must be in the range 1 to 25.
Example #OUTPUT 40,4 "Hi there"
---------------------------------------------------------------------
#PASSWORD Input/Output
---------------------------------------------------------------------
Syntax #PASSWORD x,y cellname len prompt
Remarks This command is exactly the same as the #INPUT command,
except that keystrokes which you enter are not displayed.
Example #PASSWORD 40,4 a1 6 "Enter the magic word "
---------------------------------------------------------------------
#PRINT / #PRINTLN Input/Output
---------------------------------------------------------------------
Syntax #PRINT line
#PRINTLN line
Remarks These two commands allow your program to send line to your
printer. The only difference between the #PRINT and
#PRINTLN commands is that the #PRINTLN command sends a CR/LF
command to the printer after it has sent line.
If you want to print numbers, they must be converted to a
string first. The best way to do this is with the @FORMAT
function, which allows you to format the number in any of
InstaCalc's formats.
Example #PRINT "Hi there"
---------------------------------------------------------------------
#REPEAT / #UNTIL Control
---------------------------------------------------------------------
Syntax #REPEAT
{some commands}
#UNTIL boolean formula
Remarks This command repeats a command or set of commands until a
condition becomes true. InstaCalc executes the commands
95
after the #REPEAT until the #UNTIL command is reached.
InstaCalc then evaluates boolean formula, and branches back
to the #REPEAT command if it is false. boolean formula may
be any legal InstaCalc formula which returns a TRUE or FALSE
value.
---------------------------------------------------------------------
#RESTORE Input/Output
---------------------------------------------------------------------
Syntax #RESTORE
Remarks This command erases all boxes and restores the InstaCalc
screen. This command should be used by all application
programs before exiting.
---------------------------------------------------------------------
#RUN External
---------------------------------------------------------------------
Syntax #RUN application
Remarks This command allows you to start running another InstaCalc
application file (.MAC) as a subroutine. The other .MAC
file will be loaded into memory and executed. When the
other .MAC file is finished running, it will be removed from
memory, and control will return to the program containing
the #RUN command.
Example #RUN myprog
---------------------------------------------------------------------
#SETCOLOR Input/Output
---------------------------------------------------------------------
Syntax #SETCOLOR item background foreground
Remarks This command allows you to set and change the various colors
which other I/O commands use when writing to the screen.
item is a value corresponding to a different item which can
be displayed:
item DISPLAY
1 Frame around the menu
2 Title of the menu
3 Main body of the menu
4 Moving bar of the menu
5 Highlighted select character in the menu
6 Help line for the menu
7 Prompt for #EDIT, #INPUT, #KEY
8 Editing/output field
9 Frame around the window
10 The title of the window
96
11 The body of the window
background and foreground are values corresponding to the
background and foreground colors to use:
0=Black 8=Dark Gray
1=Blue 9=Light Blue
2=Green 10=Light Green
3=Cyan 11=Light Cyan
4=Red 12=Light Red
5=Magenta 13=Light Magenta
6=Brown 14=Yellow
7=Light Gray 15=White
Example #SETCOLOR 4 1 15
---------------------------------------------------------------------
#STEP Debugging
---------------------------------------------------------------------
Syntax #STEP 0/1
Remarks This single command allows you to single step through an
application, set conditional breakpoints, and inspect and
edit cells while your application is running.
When the command #STEP 1 is encountered in a program, single
stepping is enabled. When you are in single step mode, the
bottom line of the screen will display the prompt "SS:",
along with the next line of the application to be executed.
You must press a key (the space bar is good for this) to
execute each line of the program.
When the command #STEP 0 is encountered in a program, single
stepping is disabled and execution of the program will
continue normally.
---------------------------------------------------------------------
#UPDATE Input/Output
---------------------------------------------------------------------
Syntax #UPDATE 0/1
Remarks This command toggles InstaCalc screen updating on and off.
This command is useful to keep screen updating from
overwriting boxes and windows which your application has
placed on screen. #UPDATE 0 disables screen updating, and
#UPDATE 1 enables screen updating. #UPDATE can be used at
any point in the application to turn updating on or off.
----------------------------------------------------------------------
#WAIT Input/Output
----------------------------------------------------------------------
Syntax #WAIT x,y prompt
97
Remarks This command displays prompt at screen position x,y, and
then waits for you to press a key. This command is similar
to the #KEY command, except that the keystroke is not saved
for processing.
---------------------------------------------------------------------
#WHILE / #ENDWHILE Control
---------------------------------------------------------------------
Syntax #WHILE boolean formula
{some commands}
#ENDWHILE
Remarks This command repeat a command or set of commands as long as
boolean formula is TRUE. If boolean formula is FALSE when
the #WHILE is first reached, the commands will not be
executed at all.
The #ENDWHILE command will cause execution to branch back to
#WHILE so that boolean formula may be tested again.
---------------------------------------------------------------------
#WINDOW Input/Output
---------------------------------------------------------------------
Syntax #WINDOW x1,y1 save title
Remarks This command is a special version of the #BOX command. This
command, along with the #WINTEXT command, allows you to
easily create text windows without having to calculate how
wide and tall the box should be, or what screen coordinates
to use to display text in the box. This command displays a
box on the screen. The upper left corner of the box is
located at screen position x1,y1, and the position of the
lower right corner of the box is calculated by InstaCalc
based on the number and length of the following #WINTEXT
commands. save determines whether InstaCalc saves the
contents of the screen under the box before displaying it.
If save equals 0, then the screen contents are not saved.
If save equals 1, then the screen contents are saved, and
can be restored using the #CLEARBOX command.
Example #WINDOW 10,5 1 "My Window"
#WINTEXT "Here is some text"
#WINTEXT "Some more text"
---------------------------------------------------------------------
#WINTEXT Input/Output
---------------------------------------------------------------------
Syntax #WINTEXT line
Remarks This command displays line in the currently defined window.
#WINDOW will automatically adjust the size of the window to
hold the width of line.
98